Jon*_*ook 206 mysql rubygems ruby-on-rails webrick
我一直在努力解决这个问题.
我在Snow Leopard机器上安装了Rails 3,gem,mysql.一切顺利,直到我创建了我的第一个项目并试图运行
rails server
Run Code Online (Sandbox Code Playgroud)
运行这个我得到:
jontybrook$ rails server
/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib (LoadError)
Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
from /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2.rb:7
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require'
from /Users/jontybrook/Dropbox/CODING/simple_cms/config/application.rb:7
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28:in `require'
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap'
from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27
from script/rails:6:in `require'
from script/rails:6
jontybrook$
Run Code Online (Sandbox Code Playgroud)
据我所知,问题在于mysql2 gem.MySQL似乎运行正常,我的Gemfile引用了mysql2,我的database.yml文件似乎还可以.
错误提到
Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Run Code Online (Sandbox Code Playgroud)
但是
jontybrook$ cd /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2
jontybrook$ ls
client.rb em.rb error.rb mysql2.bundle result.rb
Run Code Online (Sandbox Code Playgroud)
MySQL2.bundle在那里!?
如果我使用旧的mysql gem,WEBrick就可以了.但这不是理想的,是吗?
我试过谷歌可以给我的一切!任何帮助非常感谢.
blo*_*ess 392
我从来没有能够得到任何这些答案为我工作,但这是我用来使它适合我的命令.这样,每次更新mysql时都不需要使用install_name_tool
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)
Jon*_*ook 93
我终于解决了这个问题!
我在RVM下重新安装了Ruby和Rails.我使用的是Ruby版本1.9.2-p136.
在rvm下重新安装后,此错误仍然存在.
最后解决它的魔术命令是:
sudo install_name_tool -change libmysqlclient.16.dylib /usr/local/mysql/lib/libmysqlclient.16.dylib ~/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Run Code Online (Sandbox Code Playgroud)
希望这有助于其他人!
ndu*_*sis 88
这个修复程序对我很有用:
将以下内容添加到〜/ .profile中
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
http://www.rickwargo.com/2010/12/16/installing-mysql-5-5-on-os-x-10-6-snow-leopard-and-rails-3/
小智 26
我有同样的问题.看起来它无法找到libmysqlclient库.对我有用的临时修复如下:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
Run Code Online (Sandbox Code Playgroud)
我不确定配置在哪里指定加载路径或它设置的内容但我的mysql安装似乎不在其中.如果我找到一个更永久的解决方案,我会再次发布.
编辑:实际上此修复似乎更准确地解决了问题.
小智 24
将以下内容添加到您的~/.bash_profile:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
这对我有用
Son*_*hew 17
在执行此操作时,在OSX El Capitan更新中:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)
它会抛出一个错误
ln: /usr/lib/libmysqlclient.18.dylib: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
所以为了避免这种情况,你可以做的是首先libmysqlclient.18.dylib使用命令找到它
User$ locate libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)
在我的情况下它返回 /usr/local/mysql-5.5.24-osx10.5-x86_64/lib/libmysqlclient.18.dylib
所以usr/lib/我们不会usr/local/lib/像这样创建符号链接:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)
更多详情:https://forums.developer.apple.com/thread/7935
小智 13
以下行适合我.我正在使用mac 10.7.2.
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
几天前我也遇到过同样的问题。我最终设法解决了它。我不太确定怎么做,但无论如何我都会告诉你我做了什么。也许它会对你有帮助。
我首先下载了 RVM。如果您尚未使用它,我强烈建议您这样做。它基本上为 Ruby、RoR 和 RubyGems 的新单独安装创建了一个沙箱。事实上,您可以同时进行多个安装并立即切换到另一个。它就像一个魅力。
为什么这有用?因为您不应该弄乱 OS X 中默认的 Ruby 安装。系统依赖于它。最好只保留默认的 Ruby 和 RoR 安装,并使用 RVM 创建一个新的安装,您可以将其用于您自己的开发。
创建单独的 Ruby 安装后,我只安装了 RoR、RubyGems 和 mysql,它就可以工作了。有关我采取的具体步骤,请参阅我的问题:安装 Rails、MySQL 等,一切都出错了
再次:我不确定这是否能解决您的问题。但它确实对我有用,并且无论如何,强烈推荐使用 RVM。
| 归档时间: |
|
| 查看次数: |
101128 次 |
| 最近记录: |