crystal命令失败,找不到-lgc的ld:library

时间:2018-01-20 17:27:46

标签: macos crystal-lang

尝试从https://github.com/askn/crystal-by-example运行程序hello时,我得到以下输出

$ crystal hello.cr
ld: library not found for -lgc
clang: error: linker command failed with exit code 1 (use -v to see . invocation)
Error: execution of command failed with code: 1: `cc "${@}" -o '/Users/senpo/.cache/crystal/crystal-run-hello.tmp'  -rdynamic  -lpcre -lgc -lpthread /opt/brew/Cellar/crystal-lang/0.24.1_1/src/ext/libcrystal.a -levent -liconv -ldl -L/usr/lib -L/usr/local/lib`

我已经尝试

  1. xcode-select --install
  2. xcode-select --switch /Library/Developer/CommandLineTools
  3. 重新安装XCode
  4. 但仍然得到同样的错误。谁能帮我把水晶安装好吗?

2 个答案:

答案 0 :(得分:2)

我在https://github.com/crystal-lang/crystal/issues/3067找到了解决方案。这似乎是一个众所周知的水晶问题。解决方案是将环境变量LIBRARY_PATH设置为自制软件安装的库文件夹,在我的情况下为/opt/brew/lib

export LIBRARY_PATH=/opt/brew/lib

答案 1 :(得分:1)

使用run命令

运行它
crystal run hello.cr

或者您可以构建包并运行构建的代码

crystal build hello.cr
./hello