2011-11-09 95 views
0

我尝试运行rails S并获取以下错误。使用Mysql2 for Ruby

/Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.8/lib/mysql2.rb:9:in `require':  dlopen(/Users/KaushiK/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.8/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/mysql-5.5.10-osx10.6-x86_64/lib/libmysqlclient.18.dylib (LoadError) 
Referenced from: /Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.8/lib/mysql2/mysql2.bundle 
Reason: image not found - /Users/KaushiK/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.8/lib/mysql2/mysql2.bundle 
from /Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.8/lib/mysql2.rb:9:in `<top (required)>' 
from /Users/ME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require' 
from /Users/ME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
from /Users/ME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each' 
from /Users/ME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require' 
from /Users/ME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each' 
from /Users/ME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require' 
from /Users/ME/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler.rb:122:in `require' 
from /Users/ME/Desktop/MyRailProjects/first_app/config/application.rb:7:in `<top (required)>' 
from /Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:52:in `require' 
from /Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:52:in `block in <top (required)>' 
from /Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:49:in `tap' 
from /Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:49:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

我跟以前的线程(http://stackoverflow.com/questions/5394873/trying-to-access-my-ruby-project-loaderror-pertaining-to-mysql),并写了下面,

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql-5.5.10- osx10.7-x86_64/lib/libmysqlclient.18.dylib /Users/ME/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.8/lib/mysql2/mysql2.bundle 

什么都没做。我的意思是它经历了,然后我写了这个。

sudo ln /usr/local/mysql-5.5.10-osx10.7-x86_64/bin/mysql /usr/local/mysql/bin/mysql 

当我输入这一点,说

ln: /usr/local/mysql-5.5.10-osx10.7-x86_64/bin/mysql: No such file or directory 

我不知道为什么。即使启用了查看隐藏文件,我也无法看到文件和目录。我不知道如何调试。

回答

1

除非你绝对必须使用Oracle的破损的MySQL 5.5包,说实话,最简单的解决方案是回落到5.1。这说...

当你说install_name工具“什么也没做”,你是什么意思?那么你有没有尝试再次制作宝石?给出“无所事事”的外观是UNIX工具的标准成功状态。

Re:ln,即使是最新的发行版仍然标记为10.6。除非你自己重命名了MySQL目录,否则它是mysql-5.5.10-osx10。 -x86_64。

+0

那么我的意思是当我写这个命令时没有任何确认或任何东西。无论如何,我已经将10.7更改为10.6,然后当我运行它的两个命令,但仍然存在最初的错误。关于如何解决的任何想法?将使用5.1解决问题? – CodeGeek123