Crystal lang:如何为 crystal 编译器指明需要的路径

Crystal lang : How to indicate require path for crystal compiler

如果我的某些库位于默认目录 lib 之外,我是否可以指出在没有 lib 目录或 shards.yml.

的情况下成功编译所需的路径

是的,更改 CRYSTAL_PATH 环境变量。默认情况下它是 $CRYSTAL_ROOT/src:lib(安装的 src 目录,然后是相对的 lib 目录)。只需在末尾添加 :some_other_dir 即可。

示例:CRYSTAL_PATH=$CRYSTAL_ROOT/src:lib:~/my_lib_dir

它没有像另一个答案中提到的那样工作,这不会工作CRYSTAL_PATH=$CRYSTAL_ROOT/src:lib:~/my_lib_dir

因为在我的例子中 CRYSTAL_ROOT 是空白的。

解决方案是执行 crystal env 并从那里复制 CRYSTAL_PATH 的任何路径,然后将其重新设置为 CRYSTAL_PATH=whatever-paths-you-just-copied:~/my_lib_dir