全新安装的RVM和Ruby 2.1.1 - dyld库/路径错误

Dyl*_*lan 44 ruby rubygems dyld rvm

我一直在尝试将RVM和Ruby 2.1.1安装到我的新Mac(OS 10.9.2)上,在我尝试安装任何版本的Ruby之前,一切似乎都进展顺利.

我的意见

$ rvm reinstall 2.1
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好...

ruby-2.1.1 - #removing rubies/ruby-2.1.1..
Searching for binary rubies, this might take some time.
Found remote file https://rvm.io/binaries/osx/10.9/x86_64/ruby-2.1.1.tar.bz2
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' already are up to date.
Requirements installation successful.
ruby-2.1.1 - #configure
ruby-2.1.1 - #download
ruby-2.1.1 - #validate archive
ruby-2.1.1 - #extract
ruby-2.1.1 - #validate binary
ruby-2.1.1 - #setup
ruby-2.1.1 - #making binaries executable..
ruby-2.1.1 - #downloading rubygems-2.2.2
ruby-2.1.1 - #extracting rubygems-2.2.2....
ruby-2.1.1 - #removing old rubygems.........
Run Code Online (Sandbox Code Playgroud)

但是之后...

ruby-2.1.1 - #installing rubygems-2.2.2.
Error running 'env GEM_HOME= GEM_PATH= /Users/dylanoshea/.rvm/rubies/ruby-2.1.1/bin/ruby -d /Users/dylanoshea/.rvm/src/rubygems-2.2.2/setup.rb --verbose',
showing last 15 lines of /Users/dylanoshea/.rvm/log/1395654507_ruby-2.1.1/rubygems.install.log
[2014-03-24 02:48:47] /Users/dylanoshea/.rvm/rubies/ruby-2.1.1/bin/ruby
current path: /Users/dylanoshea/.rvm/src/rubygems-2.2.2
PATH=/usr/local/opt/pkg-config/bin:/usr/local/opt/libtool/bin:/usr/local/opt/automake/bin:/usr/local/opt/autoconf/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/dylanoshea/.rvm/bin
command(7): env GEM_HOME= GEM_PATH= /Users/dylanoshea/.rvm/rubies/ruby-2.1.1/bin/ruby -d /Users/dylanoshea/.rvm/src/rubygems-2.2.2/setup.rb --verbose
dyld: Library not loaded: /Users/mpapis/.sm/pkg/versions/openssl/1.0.1f/lib/libssl.1.0.0.dylib
  Referenced from: /Users/dylanoshea/.rvm/rubies/ruby-2.1.1/bin/ruby
  Reason: image not found
/Users/dylanoshea/.rvm/scripts/functions/support: line 411: 14265 Trace/BPT trap: 5       "$ruby_path" -rrbconfig -e '\
    File.open("'"$config_path"'","w") { |file|
      RbConfig::CONFIG.sort.each{|key,value|
        file.write("#{key.gsub(/\.|-/,"_")}=\"#{value.gsub("$","\\$")}\"\n")
      }
    }
  ' > /dev/null 2>&1
dyld: Library not loaded: /Users/mpapis/.sm/pkg/versions/openssl/1.0.1f/lib/libssl.1.0.0.dylib
  Referenced from: /Users/dylanoshea/.rvm/rubies/ruby-2.1.1/bin/ruby
  Reason: image not found
Empty path passed to certificates update, functions stack: requirements_osx_update_openssl_cert_run rvm_requiremnts_fail_or_run_action __rvm_osx_ssl_certs_ensure_for_ruby __rvm_osx_ssl_certs_ensure_for_ruby_except_jruby external_import_setup external_import main
Gemset '' does not exist, 'rvm ruby-2.1.1 do rvm gemset create ' first, or append '--create'.
__rvm_rm_rf already gone: /Users/dylanoshea/.rvm/tmp/5021*
Run Code Online (Sandbox Code Playgroud)

我一再尝试删除,破坏,删除和取消/重新安装我的所有RVM组件和Ruby版本,但它没有什么区别 - 我仍然得到这个错误.奇怪的是,破碎的路径是指"mpapis",他是RVM的开发者之一.

dyld: Library not loaded: /Users/mpapis/.sm/pkg/versions/openssl/1.0.1f/lib/libssl.1.0.0.dylib

有帮助吗?

kab*_*oom 93

它看起来是一个临时的错误:https://twitter.com/mpapis/status/447926386314186752.该disable-binary选项对我有用:

rvm reinstall 2.1.1 --disable-binary
Run Code Online (Sandbox Code Playgroud)

编辑 - 更好的解决方案

我看到有些人还有这个问题.今天更好的解决方案是像这样更新RVM:

rvm get stable
Run Code Online (Sandbox Code Playgroud)

问题是由RVM引起的 - 它有一些路径硬编码为ruby二进制版本.但是这个问题已经修复,目前没有必要在本地编译ruby.您只需要获得最新的RVM版本.

  • @Leif,这意味着rvm将下载源代码并在您的计算机上编译它.没有这个标志rvm下载已编译的二进制分发. (4认同)
  • 我是一个javascript人,这个rvm业务可能很痛苦.谢谢你让这不痛苦. (2认同)