我创建了一个运行最新Ubuntu的VM,因为它在我的Windows机器上造成了很多问题。
我安装了RVM,版本为1.8.7和1.9.2,默认为1.9.2。我安装了宝石,安装了Rails。
如果我尝试使用Rails(生成,服务器等)做任何事情,我会收到此错误:
您已请求:mysql2~> 0.2.6
该软件包目前已锁定mysql2 在0.2.6。尝试运行
bundle update mysql2
第一个问题,我的rails app甚至没有使用mysql。它使用的是SQLite
无论如何,我按照它说bundle update mysql2
运行......我得到了一堆错误。它们的开头就是:
Installing mysql2 (0.2.6) with native extensions /home/jamesw/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:533:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/home/jamesw/.rvm/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... 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... yes
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.
我不熟悉服务器设置和类似的事情。我是OS X用户,但在OS X上没有处理任何这样的问题。有人能指出我正确的方向吗?
答案 0 :(得分:1)
如果你想摆脱MySQL依赖关系,请检查你的Gemfile,这可能就是它所需要的地方。
如果你很好奇,mysql gem编译失败的原因是你可能没有安装mysql客户端头文件。对于Ubuntu,我相信“apt-get install libmysqlclient-dev”会处理它。您还需要安装“build-essential”软件包。但是,如果从Gemfile中删除MySQL,那么所有这些都是学术性的。
答案 1 :(得分:0)
查看Gemfile,看看是否有一行看起来像以下任何一行。
gem "mysql2"
gem "mysql2", 0.2.6
如果有,注释掉或删除这些行,请删除Gemfile.lock并再次运行bundle install。