2011-06-09 72 views
5

我试图找出围绕轨道配置的极其复杂的迷宫。到目前为止,我设法在Ubuntu上设置rvm(出于某种原因,ruby在Ubuntu的repo中已经过时了)。 我设法设置了一个rails项目。我想我的测试项目使用mysql而不是mysqlite。如何在Ubuntu上通过rvm使用rails3时安装mysql2 gem?

当我试图“耙分贝:迁移”,我得到了一个错误:“!!!缺少的mysql2宝石将它添加到您的Gemfile:宝石‘mysql2’”

当我尝试“宝石安装mysql',我得到一个错误,告诉我需要为安装命令提供参数。但是,参数列表非常庞大,我不知道要选择哪些参数。

如何通过运行在Ubuntu的rvm与MySQL的rails3?

谢谢。

回答

0
+0

恐怕这种联系不利于上市要安装到宝石。它不提供有关在使用rvm安装mysql或mysql gem时需要执行的操作的任何信息。它只是给出了正常的方式,不会产生相同的问题。 – bob 2011-06-09 07:46:37

+0

对于安装mysql gem,也许你可以使用像这样的东西 - >“gem install mysql - --with-mysql-config =/usr/local/mysql/bin/mysql_config” – Bjoernsen 2011-06-09 08:14:18

0

我相信你需要宝石的名字添加到您的Gemfile,位于你的项目根:

它应是这样的:

source 'http://rubygems.org' 

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

其中version是你的宝石版” d喜欢安装,并且默认会有一堆其他信息。

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

+0

这样做会产生相同的错误我以前得到过,只有更多的文字。这是同样的问题:mysql或mysql2 gem需要安装选项,但错误代码并不告诉我它需要哪些选项或原因。再次 - 问题似乎是特定于使用rvm安装rails – bob 2011-06-09 07:49:26

2

首先,您需要安装mysql。你可以使用Ubuntu的包管理器来安装它。不需要特殊的步骤。您还需要使用mysql工具最初创建数据库和用户。此链接显示如何做到这一点:

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

其次,你需要在你的Gemfile中列出的mysql2宝石。这告诉Rails继续并使用该宝石。你需要这样一行:

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如何在开发环境中找到你的数据库。

一旦这一切就绪,事情应该奏效。

+0

我安装了mysql,并且我的gemfile中列出了mysql2 gem。我已经完全放弃了这个,并删除了我的rvm安装。对我来说太难了。 Ruby on Ubuntu似乎很难。 – bob 2011-06-11 13:07:42

22

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

欢呼

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上用Homebrew:

brew install mysql 

然后运行

bundle install 

中的Gemfile