rake db:migrate error with mysql2 gem - Library not loaded: libssl.1.0.0.dylib

廉价感情. 提交于 2019-12-18 12:26:21

问题


Getting the following error after running rake db:migrate

rake aborted!
LoadError: dlopen(/Users/scott/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.10/lib/mysql2/mysql2.bundle, 9): Library not loaded: libssl.1.0.0.dylib
  Referenced from: /Users/scott/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.10/lib/mysql2/mysql2.bundle
  Reason: image not found - /Users/scott/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.10/lib/mysql2/mysql2.bundle
/Users/scott/Google Drive/playground/myApp/myApp/config/application.rb:21:in `<top (required)>'
/Users/scott/Google Drive/playground/myApp/myApp/Rakefile:4:in `<top (required)>'

What does the libssl refer to?


回答1:


First uninstall the mysql2 gem:

gem uninstall mysql2

Make sure you installed openssl:

brew install openssl

It will print out some notes. We are interested in this part:

For compilers to find this software you may need to set:
LDFLAGS:  -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include

Then you can re-install mysql2 gem like this:

gem install mysql2 -v 0.4.10 -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib

You should be good to go.




回答2:


Following fix solves the issue

   ==> cd /usr/local/Cellar/openssl/1.0.2s/lib/

==> sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib



回答3:


So the answer to my own question was the following - out of the 5 or so other solutions on stackoverflow, this is the only one that worked:

brew install openssl

cd /usr/local/Cellar/openssl/1.0.1f/lib

sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/lib/

Full solution here - https://mithun.co/hacks/library-not-loaded-libcrypto-1-0-0-dylib-issue-in-mac/




回答4:


In my case just uninstalling and installing the mysql2 gem did the trick

$ gem uninstall mysql2
$ bundle install 
> Fetching mysql2 0.4.10
> Installing mysql2 0.4.10 with native extensions



回答5:


just one command:

gem pristine mysql2

then i fix this problem



来源:https://stackoverflow.com/questions/51264240/rake-dbmigrate-error-with-mysql2-gem-library-not-loaded-libssl-1-0-0-dylib

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