当我通过rvm使用rails时,如何在ubuntu上安装mysql2 gem?

时间:2011-06-09 04:05:14

标签: ruby-on-rails ruby ubuntu rvm

我正试图绕过极其复杂的迷宫,即铁轨配置。到目前为止,我已经设法在ubuntu上设置rvm(出于某种原因,ruby在ubuntu repo中已经过时了)。 我设法建立了一个rails项目。我希望我的测试项目使用mysql而不是mysqlite。

当我尝试'rake db:migrate'时,我收到一个错误: “!!!缺少mysql2 gem。将它添加到你的Gemfile:gem'mysql2'”

当我尝试'gem install mysql'时,我收到一个错误,告诉我需要为安装命令提供参数。但是,参数列表很大,我不知道选择哪一个。

如何通过使用mysql在ubuntu上运行rvm来获取rails3?

感谢。

5 个答案:

答案 0 :(得分:22)

我有同样的问题,你需要做的就是首先安装libmysqlclient-dev。

欢呼声

答案 1 :(得分:2)

首先,你需要安装mysql。您可以使用Ubuntu的软件包管理器安装它。无需特殊步骤。您还需要使用mysql工具初始创建数据库和用户。此链接显示了如何执行此操作:

http://www.tutorialspoint.com/ruby-on-rails/rails-database-setup.htm

其次,您需要在Gemfile中列出mysql2 gem。这告诉Rails继续使用那个gem。你需要这样的一行:

gem 'mysql2', '< 0.3'

我指定的版本小于0.3,因为我使用的是Rails 3.0.7,版本0.3及更高版本适用于Rails 3.1。另外,一定要使用mysql2 gem而不是mysql - 它似乎更好地处理字符编码。

第三,运行“bundle install”,以便Rails下载并安装mysql2 gem。

最后,您需要更改database.yml文件以放入数据库的连接信息,如下所示:

development:
  adapter:  mysql2
  database: your_database_name
  username: your_username
  password: your_password
  encoding: utf8

编码部分正是我正在使用的,你可能需要不同的东西。此条目告诉Rails如何在开发环境中找到您的数据库。

一旦完成,事情应该有效。

答案 2 :(得分:1)

sudo apt-get install libmysql-ruby libmysqlclient-dev

如果上述命令无效,因为找不到libmysql-ruby,则以下内容就足够了:

sudo apt-get install libmysqlclient-dev

在Red Hat / CentOS和其他使用yum的发行版上:

sudo yum install mysql-devel

在带有自制软件的Mac OS X上:

brew install mysql

然后运行

bundle install

安装到gemfile中列出的gems

答案 3 :(得分:0)

答案 4 :(得分:0)

我相信您需要将宝石名称添加到您的项目根目录中的Gemfile:

它应该是这样的:

source 'http://rubygems.org'

gem 'rails', version
gem 'mysql', version

版本是您要安装的gem版本,默认情况下会有一堆其他信息。

然后,导航到项目目录并运行bundle命令,您应该进行设置。