我在连接到MySQL时遇到了一些错误,修复它导致我升级了mysql2 gem。
我运行此命令来安装mysql2:
ruby install mysql2
现在“gem list”显示了这个gem: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:警告:PATH中不安全的世界可写dir / home / agenadinik,模式040777 /home/agenadinik/.rvm/gems/ruby-1.9.2-p180
答案 0 :(得分: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>>>>>
答案 1 :(得分:3)
如果您使用的是Bundler,则应添加
gem "mysql2"
到Gemfile
,然后运行bundle install
答案 2 :(得分:0)
在Rails&gt; = 3.2.0上,如果您使用旧版本的bundler,您将会看到这一点。将bundler更新为&gt; = 1.1.1:
gem update bundler
完成此操作后,请更新您的宝石:
bundle install