我有一个使用rails 3.0.9的旧rails项目,我正在尝试使用rails s运行它。看来,当我这样做时,会给我以下错误:
您将看到它表示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中。解决这个问题的最佳解决方案是什么?
答案 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