Mysql版本(0.3.11)不附带Activerecord

时间:2012-09-14 13:44:53

标签: mysql ruby-on-rails-3

我有一个使用rails 3.0.9的旧rails项目,我正在尝试使用rails s运行它。看来,当我这样做时,会给我以下错误:

Command prompt

您将看到它表示foriegner不支持我安装的当前适配器。我已将我的gemfile更新为如下所示:

gem 'rake', '0.9.2.2'
gem 'mysql2'
gem 'rails', '3.0.9'
gem "acl9"
gem 'foreigner'
gem 'devise'
gem 'will_paginate', '3.0.pre2'
gem 'jquery-rails'
gem 'lazy_high_charts'
gem 'client_side_validations'
gem 'carrierwave'
gem 'tiny_mce'
#gem 'devise_security_extension'
#gem 'rails_email_validator'
#gem 'easy_captcha'

group :development do
  gem 'rspec-rails', '2.6.1'
  gem 'jspec'
  gem 'faker', '0.3.1'
  gem 'rspec'
  gem 'annotate'
end

group :test do
  gem 'rspec-rails', '2.6.1'
  gem 'spork', '0.9.0.rc8'
  gem 'webrat'
  gem 'autotest-growl'
  gem 'autotest-rails'
  gem 'autotest', '4.4.6'
  gem 'autotest-rails-pure', '4.1.2'
  gem 'factory_girl_rails'
  gem 'ZenTest'
  gem 'test-unit'
end

我似乎不明白为什么它会在命令提示符中说缺少gem,我需要将它添加到我的gemfile中。解决这个问题的最佳解决方案是什么?

2 个答案:

答案 0 :(得分:0)

它无法正常工作,因为您正在尝试安装最新版本的mysql2,它不能与rails 3.0.X一起使用。你可以通过这种方式指定版本来解决这个问题

gem'mysql2','< 0.3'或gem“mysql2”,“〜> 0.2.7”

但要绕过外国人的依赖,这可能是这里的主要问题:

您可以将rails版本升级到3.1.x或更高版本,并升级gem文件中的mysql2。我看到你有最新版本的ruby。

更新gemfile中的gem后,请确保在尝试启动服务器之前在命令行中运行bundle install。另外,请确保在config文件夹的database.yml文件中设置数据库。

答案 1 :(得分:0)

编辑您的config / database.yml文件:

adapter: mysql

adapter: mysql2