未加载库:/opt/local/lib/libssl.1.0.0.dylib(LoadError)
我刚刚发现,我不能gem push …
再有一些挖掘导致我需要更新我的RVM SSL证书。
我运行rvm osx-ssl-certs status all
但是这给了我:
/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': dlopen(/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle, 9): Library not loaded: /opt/local/lib/libssl.1.0.0.dylib (LoadError) Referenced from: /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle Reason: image not found - /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/openssl.rb:17:in `<top (required)>' from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' Certificates for /usr/local/etc/openssl/cert.pem: Up to date. Certificates for : Old. Certificates for /etc/openssl/cert.pem: Up to date.
rvm -v
显示我正在运行最新的RVM(截至今天)
rvm 1.22.15 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
奇怪的是,我不知道为什么它是指ruby-2.0.0-p195
然而, rvm list
给出
rvm rubies ruby-1.9.3-p392 [ x86_64 ] ruby-2.0.0-p195 [ x86_64 ] =* ruby-2.0.0-p247 [ x86_64 ]
任何想法如何解决这一问题?
你的问题提到了三个path/opt/local
, /usr/local
和/etc/openssl
它们分别属于Macports , Homebrew和SM Framework 。
由于最后一个是用来build立静态ruby,这是无耻的,并没有涉及到这个问题。 另外两个build议您在安装ruby之间从macports切换到自制软件 。
你需要重新安装ruby-2.0.0-p195
,它仍然是macports的旧path,你可以这样做:
rvm reinstall ruby-2.0.0-p195
你可以得到更多关于他们使用的rubies和opensslpath的细节:
rvm --debug osx-ssl-certs update all
卸载openssl并重新安装它为我工作。
brew remove openssl
接着
brew install openssl
试图运行“捆绑”我也开始得到openssl dylib的投诉,虽然有一点不同的path。 我尝试了其中的大部分,还有一些其他的东西。 我有rvm,还有一些fink install的碎片,尽pipe我试着用brew来代替它。 很多时候我越来越
Library not loaded: /sw/lib/libssl.1.0.0.dylib
然而试图用brew重新安装openssl总是会产生的
sudo brew link openssl Warning: openssl is keg-only and must be linked with --force Note that doing so can interfere with building software.
要么
Mac OS X already provides this software and installing another version in parallel can cause all kinds of trouble.
所以我应该做的事情相当混乱。 经过多次试验,最后似乎有什么帮助,包括:
$ rm /Users/dan/.rvm/rubies/default/lib/ruby/1.9.1/x86_64-darwin11.4.0/openssl.bundle
其中引用了不存在的/sw/lib/libssl.1.0.0.dylib文件。 然后
$ sudo brew update && sudo brew upgrade $ rvm reset
把我的版本从1.9.1提升到了
$ ruby --version ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
我不得不重新安装捆绑软件(?)
$ gem install bundler
但最后我可以在我的项目上运行“捆绑”,似乎performance得很好。
在我的情况下,捆绑时是Ruby版本:
我做了:
rvm list
输出:
ruby-1.9.3-p448 [ x86_64 ] ruby-2.0.0-p247 [ x86_64 ] ruby-2.0.0-p353 [ x86_64 ] ruby-2.0.0-p451 [ x86_64 ]
然后我改成ruby-2.0.0-p451
:
rvm use ruby-2.0.0-p451
和:
bundle
捆绑成功;)
sudo brew update && sudo brew upgrade
为我工作