Ruby -v dyld: 图书馆未加载:/usr/local/lib/libgmp.10.dylib。

36

我一直在尝试在终端中运行一个脚本,但每次都会收到如下错误:

$ ruby directory.rb
dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib
  Referenced from: /Users/claretrembath/.rvm/rubies/ruby-2.1.3/bin/ruby
  Reason: image not found
Trace/BPT trap: 5

我意识到当检查ruby -v时,我得到了相同的输出:

$ ruby -v
dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib
  Referenced from: /Users/claretrembath/.rvm/rubies/ruby-2.1.3/bin/ruby
  Reason: image not found
Trace/BPT trap: 5

你有解决这个问题的任何想法吗?


如果解决方案解决了您的问题,请考虑标记答案。 - Jikku Jose
似乎在编译 Ruby 时,它会“机会主义地”链接到 gmp。可以通过 configure 脚本的 --without-gmp 选项禁用此功能。事实上,这就是截至2019年9月Homebrew的Ruby软件包所做的(https://github.com/Homebrew/homebrew-core/pull/43841)。 - Jared Beck
6个回答

41

我刚遇到了类似的问题,后来根据superuser的答案解决了它。


brew update && brew install gmp && rvm reinstall 2.1.4

看起来这是关于 libgmp.10.dylib 的问题。


实际上,不需要重新安装rvm。至少在我的情况下(尽管出现了相同的错误信息)。 - Karol Karol

30

对于 dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib 问题,您需要执行以下操作:brew update && brew install gmp


1
似乎Ruby维护者要求使用第三方数学库却没有在任何地方提到,这是相当不好的做法。 - Andy Ray

1
我的问题已经解决,使用了以下方法:

brew update && brew install gmp
brew upgrade npm

1
我最终通过在安装时包含brew的gmp目录来解决了这个问题:

0
我通过在自托管的GitHub Actions服务器上使用Homebrew安装libyamlgmp来解决了这个问题,而无需使用rvmruby。使用此命令brew install gmp && brew install libyaml修复ruby/setup-ruby中的错误。
 warning: It seems your ruby installation is missing psych (for YAML output).
...
 Library not loaded: '/usr/local/opt/libyaml/lib/libyaml-0.2.dylib' (LoadError)

-3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接