Mavericks上的Rails + MySQL – 未加载库:libmysqlclient.18.dylib
当我在我的localhost(OSX Mavericks)上运行Rails( rails s
)应用程序时,我收到此错误
message:/Users/adam/.rvm/gems/ruby-2.0.0-p481/gems/mysql2-0.3.16/lib/mysql2.rb:8:in `require': dlopen(/Users/adam/.rvm/gems/ruby-2.0.0-p481/extensions/x86_64-darwin-13/2.0.0-static/mysql2-0.3.16/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /Users/adam/.rvm/gems/ruby-2.0.0-p481/extensions/x86_64-darwin-13/2.0.0-static/mysql2-0.3.16/mysql2/mysql2.bundle Reason: image not found - /Users/adam/.rvm/gems/ruby-2.0.0-p481/extensions/x86_64-darwin-13/2.0.0-static/mysql2-0.3.16/mysql2/mysql2.bundle from /Users/adam/.rvm/gems/ruby-2.0.0-p481/gems/mysql2-0.3.16/lib/mysql2.rb:8:in `' from /Users/adam/.rvm/gems/ruby-2.0.0-p481@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `require' from /Users/adam/.rvm/gems/ruby-2.0.0-p481@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require' from /Users/adam/.rvm/gems/ruby-2.0.0-p481@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `each' from /Users/adam/.rvm/gems/ruby-2.0.0-p481@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:72:in `block in require' from /Users/adam/.rvm/gems/ruby-2.0.0-p481@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `each' from /Users/adam/.rvm/gems/ruby-2.0.0-p481@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:61:in `require' from /Users/adam/.rvm/gems/ruby-2.0.0-p481@global/gems/bundler-1.6.2/lib/bundler.rb:132:in `require' from /Users/adam/rubydev/logistadvise/config/application.rb:7:in `' from /Users/adam/.rvm/gems/ruby-2.0.0-p481/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require' from /Users/adam/.rvm/gems/ruby-2.0.0-p481/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in ' from /Users/adam/.rvm/gems/ruby-2.0.0-p481/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap' from /Users/adam/.rvm/gems/ruby-2.0.0-p481/gems/railties-4.0.0/lib/rails/commands.rb:73:in `' from bin/rails:4:in `require' from bin/rails:4:in `'
我不知道我是如何安装MySQL的,但我猜它是在名为Cellar
的子文件夹中。
这是我的bash_profile
样子:
MYSQL=/usr/local/mysql/bin export PATH=$PATH:$MYSQL export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH export PG_DUMP="/Applications/Postgres.app/Contents/MacOS/bin/" #PATH=$PG_DUMP:$PATH ...
如何解决这个问题?
我有同样的问题。 因为我用brew安装它,所以DYLD
的位置发生了变化。 试试这个:
export DYLD_LIBRARY_PATH=/usr/local/mysql-5.1.67-osx10.6-x86_64/lib:$DYLD_LIBRARY_PATH
首先检查上面的路径是否存在类似下面的内容,然后显然相应地调整导出路径:
ls -1 /usr/local/mysql-5.1.67-osx10.6-x86_64
你可能会做一个符号链接或其他东西。 这对我来说有点烦人,但是使用正确的路径为我修好了。
并且还尝试使用which mysql
来检查你的路径中是否有mysql。 如果你显然没有得到任何输出,那么路径就会搞砸了。
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib ~/.rvm/gems/ruby-2.0.0-p481/extensions/x86_64-darwin-13/2.0.0-static/mysql2-0.3.16/mysql2/mysql2.bundle
这应该适合你。
- MySQL地狱……无法连接数据库/tmp/mysql.sock
- 使用Mac OSX 10.6为Ruby on Rails安装mysql2 gem
- ActiveRecord错误:SAVEPOINT active_record_1不存在
- 在生产模式下获取“拒绝用户’root’@’localhost’(使用密码:NO)”并且没有记录错误
- 使用AWS RDS在Heroku App上获取Mysql2 :: Error(SSL连接错误:ASN:错误的其他签名确认)
- 试图访问我的ruby项目 – 与mysql有关的LoadError
- Ruby on Rails MYSQL错误用户’root @ localhost’访问被拒绝
- 如何根据布尔值计算两次相同的字段?
- Mysql ::错误:指定的密钥太长; 最大密钥长度为767字节:CREATE INDEX