0

Rails 3.0.9 を使用している古い Rails プロジェクトがあり、rails s を使用して実行しようとしています。これを行うと、次のエラーが表示されるようです。

コマンド・プロンプト

私がインストールした現在のアダプターは外国人によってサポートされていません. 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

Rails 3.0.X では動作しない最新バージョンの mysql2 をインストールしようとしているため、動作していません。このようにバージョンを指定することでこれを回避できます

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 に答える