我将rails 2.2.2应用程序部署到生产后我收到此错误: “你已经激活了mysql 2.7,但你的Gemfile需要mysql 2.8.1。考虑使用bundle exec”
Gemfile具有正确的信息。我该如何解决这个问题?
更新
我想使用gem 'mysql', '2.8.1'
但不知何故对我不起作用。这是我在服务器gem列表中的内容:
....
libxml-ruby (1.1.3)
memcache-client (1.6.3)
mysql (2.7)
net-scp (1.0.2)
net-sftp (2.0.2)
net-ssh (2.0.11)
....
以下是我的Gemfile的样子:
require 'rubygems'
source 'http://rubygems.org'
source 'http://gemcutter.org'
source 'http://gems.github.com'
gem 'rails', '2.2.2'
gem 'hpricot', '0.6.0'
gem "composite_primary_keys", '2.2.0'
gem 'javan-whenever', '0.3.7'
gem 'mysql', '2.7' ** earlier I was trying with 2.8.1 then used 2.7 and it worked**
gem 'activerecord-oracle_enhanced-adapter', '1.1.9'
gem 'ruby-oci8', '1.0.3'
gem 'crypto', '0.0.3'
gem 'rack', '1.0.0'
gem 'mechanize', '1.0.0'
group :test do
gem 'mocha', '0.9.5'
gem 'rspec', '1.3.1', :require => 'spec'
gem 'rspec-rails', '1.3.3'
end
group :cruise do
gem 'metric_fu', '1.5.1'
end
答案 0 :(得分:1)
尝试在Gemfile中显式设置mysql版本:gem "mysql", "2.7"
答案 1 :(得分:0)
您是否尝试卸载2.7
版本,然后安装2.8
版本?我问的原因是我与另一个宝石面临完全相同的错误......就在昨天。我用这些简单地解决了这个问题:
gem uninstall mysql -v 2.7
gem install mysql -v 2.8.1
我相信如果您运行第一个命令然后运行bundle install
,您将获得正确的命令。或者您可以返回并将Gemfile
中的版本字符串更改为您真正想要的版本字符串。