0

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

命令提示符

你会看到它说我安装的当前适配器不受foregner支持。我已将我的 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 中。解决这个问题的最佳解决方案是什么。

4

2 回答 2

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 文件中设置数据库。

于 2012-09-15T17:35:29.220 回答
0

从以下位置编辑您的 config/database.yml 文件:

adapter: mysql

adapter: mysql2
于 2012-09-19T07:51:29.827 回答