Library not loaded: /opt/local/lib/libssl.1.0.0.dylib (LoadError)

匿名 (未验证) 提交于 2019-12-03 02:13:02

问题:

I just discovered I can no longer gem push … any more and some digging led me to a need to update my RVM SSL certs.

I ran rvm osx-ssl-certs status all but that gave me:

/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 shows I am running the latest RVM (as of today)

rvm 1.22.15 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/] 

Oddly I am not sure why it's referring to ruby-2.0.0-p195 however as rvm list gives

rvm rubies     ruby-1.9.3-p392 [ x86_64 ]    ruby-2.0.0-p195 [ x86_64 ] =* ruby-2.0.0-p247 [ x86_64 ] 

Any ideas how to fix this?

回答1:

Your questions mentions three paths /opt/local, /usr/local and /etc/openssl they belong to Macports, Homebrew and SM Framework respectively.

As the last one is used to build static rubies it is harmeless and not related to the problem. The other two suggest that you have switched from macports to homebrew between installing the rubies.

You need to reinstall ruby-2.0.0-p195 which is referring still the old paths from macports, you can do it with:

rvm reinstall ruby-2.0.0-p195 

You can get more details about the rubies and openssl paths they use running:

rvm --debug osx-ssl-certs update all 


回答2:

Uninstalling openssl and re-installing it worked for me.

brew remove openssl   

and then

brew install openssl 


回答3:

Trying to run 'bundle' I also started getting the openssl dylib complaint, though a slightly different path. I tried most of these, and a few other things. I had rvm, and some broken remnants of a fink install, though I'd tried to replace it with brew a while back. Many times I was getting

Library not loaded: /sw/lib/libssl.1.0.0.dylib 

However trying to re-install openssl with brew always produced

sudo brew link openssl Warning: openssl is keg-only and must be linked with --force Note that doing so can interfere with building software. 

or

Mac OS X already provides this software and installing another version in parallel can cause all kinds of trouble. 

So it was pretty confusing what I should do. What seemed to help in the end, after much trial, included:

$ rm /Users/dan/.rvm/rubies/default/lib/ruby/1.9.1/x86_64-darwin11.4.0/openssl.bundle 

which had references to the non-existent /sw/lib/libssl.1.0.0.dylib file. Then

$ sudo brew update && sudo brew upgrade $ rvm reset 

brought my version up from 1.9.1 to

$ ruby --version ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0] 

At which point I had to re-install bundler (?)

$ gem install bundler 

But finally I could run 'bundle' on my project and it seemed to behave.



回答4:

In my case it was the Ruby version when bundling:

I did:

rvm list 

output:

   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 ] 

and then I changed to ruby-2.0.0-p451:

rvm use ruby-2.0.0-p451 

and:

bundle 

bundle was done successfully ;)



回答5:

sudo brew update && sudo brew upgrade 

worked for me



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!