如何为 Ruby 永久修复“dyld:库未加载:/usr/local/opt/gmp/lib/libgmp.10.dylib”?

use*_*848 4 ruby macos rubygems

我大约两周前更新了操作系统,从那时起我就遇到了这个问题:

> ruby -v            
dyld: Library not loaded: /usr/local/opt/gmp/lib/libgmp.10.dylib
  Referenced from: /Users/me/.rvm/rubies/ruby-2.2.1/bin/ruby
  Reason: image not found
[1]    65487 trace trap  ruby -v
Run Code Online (Sandbox Code Playgroud)

此处找到的解决方案(Ruby -v dyld: Library not returned: /usr/local/lib/libgmp.10.dylib)适用于每个终端会话,但不是永久的。我运行的是操作系统 10.9.5。

这是暂时有效的:

rvm reinstall 2.1.4
Run Code Online (Sandbox Code Playgroud)

除了更新自制程序之外,这没有任何效果:

brew update && brew install gmp 
Run Code Online (Sandbox Code Playgroud)

我怎样才能永久解决这个问题?

ken*_*orb 6

您可能需要重新安装rubygmp软件包rvm来修复损坏的依赖项,例如

brew reinstall gmp rvm ruby
Run Code Online (Sandbox Code Playgroud)

考虑brew update && brew upgrade之前跑步。

然后重新安装ruby为:

rvm reinstall 2.1.4 --with-opt-dir=$(brew --prefix gmp) --disable-binary
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式检查:

ruby -v
Run Code Online (Sandbox Code Playgroud)

确保您使用的是正确的ruby(通过检查: ),如果没有,请在启动 shell 脚本中which -a ruby设置正确的变量顺序(例如)。PATH~/.bash_profile

还要确保您没有覆盖启动 shell 脚本中的任何DYLD_LIBRARY_PATH,DYLD_FALLBACK_LIBRARY_PATH或变量(例如)。DYLD_FRAMEWORK_PATH~/.bash_profile

相关:RVM 的 Ruby 安装问题