0

我在连接到 MySQL 时遇到了一些错误,它的修复导致我升级了 mysql2 gem。

我运行这个命令来安装 mysql2:

ruby install mysql2

现在“宝石列表”显示了这个宝石:mysql2 (0.3.2)

但我认为它仍然不是我的应用程序环境的一部分,因为服务器给出了这个错误:

Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter)

我有 RVM,并且我使用 bundler 为这个应用程序制作了一个 gemset。如何将 mysql2 添加到此应用程序的 gemset?

这是我的宝石文件:

source 'http://rubygems.org'

gem 'rails', '3.0.7'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

gem 'mysql2' , '0.3.2' 

这是我的 MySQL 适配器版本:

$bundle show mysql2
/home/agenadinik/workspace/udfr/mysql2/ruby/1.9.1/gems/mysql2-0.3.2

$ rvm gemdir /home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4:警告:路径中不安全的世界可写目录 /home/agenadinik,模式 040777 /home/agenadinik/.rvm/宝石/ruby-1.9.2-p180

4

3 回答 3

7

请注意,您不能在 Rails 版本低于 3.1.x 的情况下使用 mysql2 版本 0.3.x。我假设您使用的是 Rails 3.0.x 或更低版本(因此您需要使用 mysql2 版本 0.2.x):

以下是如何设置 gemset 和 Gemfile 以使用 mysql2 的示例:

~/code/myapp $ rvm gemset create myapp
~/code/myapp $ rvm use @myapp
<<<<<Edit the Gemfile and add the line gem "mysql2","0.2.7" then save and exit editor.>>>>>
~/code/myapp $ bundle install
~/code/myapp $ bundle show mysql2
<<<<<Output should be similar to: /home/<your-name>/.rvm/gems/ruby-<some-version>@myapp/gems/mysql2-0.2.7>>>>>
于 2011-05-03T00:18:14.803 回答
3

如果您使用的是 Bundler,则应添加

gem "mysql2"

到你的Gemfile,然后运行bundle install

于 2011-05-03T00:14:26.180 回答
0

在 Rails >= 3.2.0 上,如果您使用的是旧版本的 bundler,您会看到这一点。将捆绑程序更新到 >= 1.1.1:

gem update bundler

完成此操作后,更新您的 gem:

bundle install
于 2012-03-16T15:09:29.547 回答