Rails 4,Ruby,MySQL2和RubyMine

时间:2013-06-20 07:03:36

标签: ruby-on-rails ruby macos

我收到了与你们所有人相同的错误信息,但我使用的是Rails4和Ruby2以及RubyMine(IDE),我使用的是Mac(10.8)。

/Users/eric/.rvm/rubies/ruby-2.0.0-p195/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/eric/Rubymine/Chroma/bin/bundle install
Fetching gem metadata from https://rubygems.org/........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
...
...
...
Installing mysql2 (0.3.11) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/Users/eric/.rvm/rubies/ruby-2.0.0-p195/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
--with-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/eric/.rvm/rubies/ruby-2.0.0-p195/bin/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib

Gem files will remain installed in /Users/eric/.rvm/gems/ruby-2.0.0-p195@global/gems/mysql2-0.3.11 for inspection.
Results logged to /Users/eric/.rvm/gems/ruby-2.0.0-p195@global/gems/mysql2-0.3.11/ext/mysql2/gem_make.out
An error occurred while installing mysql2 (0.3.11), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling.

Process finished with exit code 5

我也尝试过网络上的其他一些东西: - 从命令行运行gem install mysql2会得到与上面相同的消息。 - 正在运行gem 'mysql2'会出现此错误:ERROR: While executing gem ... (Gem::CommandLineError) Unknown command mysql2即使我拥有它我的Gemfile:http://d.pr/n/jc3i - 我尝试添加rvm install libmysql-ruby,希望能解决它.. nope ..

我应该提到这是我第一次真正涉足RoR,所以很有可能问题...我看了看StackOverflow,并没有真正的运气无论是。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我曾经一直遇到这个问题。您是否尝试过针对MySQL安装安装gem:

env ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-dir=/usr/local/mysql

(注意双重破折号...它们是预期的)

当然,您的MySQL安装可能在其他地方,因此请相应调整。

我还记得必须重新链接libmysqlclient.18.dylib,但这可能不再需要了。作为参考,它是这样的:

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /Users/levifig/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle

希望这能让你朝着正确的方向前进。如果没有,我会尽力帮助......:)