在新的Ubuntu安装上运行Rails

时间:2011-06-17 18:15:22

标签: mysql ruby-on-rails ruby-on-rails-3

我创建了一个运行最新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上没有处理任何这样的问题。有人能指出我正确的方向吗?

2 个答案:

答案 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。