0

私はレールが初めてで、この大きな問題があります。Rails 3.2.9 と Ruby 1.9.3 を実行しています。Rails アプリを Linux から Windows に移植しましたが、Windows では mysql2 gem に多くの問題があります。昨日mysql2 gemをインストールし、rake db:migrateを実行しようとしましたが、次の出力があります。

レーキが中止されました!
mysql2 アダプターをインストールしてください: gem install activerecord-mysql2-adapter(そのようなファイルをロードできません -- mysql2)
C:/Users/RoccaA/Desktop/project/config/environment.rb:5:in `'
タスク: TOP => db:migrate => 環境
(を参照) --trace を使用してタスクを実行することによる完全なトレース)

次に、これは私のGemfileです

gem 'rails', '3.2.9'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
#gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
#  gem 'coffee-rails', '~> 3.2.1'
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby
 # gem 'uglifier', '>= 1.0.3'
end
 gem 'coffee-rails', '~> 3.2.1'
 gem 'uglifier', '>= 1.0.3'
gem 'jquery-rails'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
# this gems needs for auth
gem 'cancan'
gem 'devise'
gem 'rolify'
gem 'execjs'
gem 'therubyracer', :platform => :ruby
gem 'populator'
gem 'faker'
gem 'paperclip'
gem 'simple_xlsx_writer'
gem 'roo'
gem 'mysql2', '0.3.11'
gem 'simple_xlsx_writer'
gem 'rake', '~> 10.0.4'
gem 'icalendar'

そして、これは私のdatabase.ymlです

development:

  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: emc
  pool: 5
  username: root
  password: root
  socket: /var/run/mysqld/mysqld.sock
testing:

  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: emc
  pool: 5
  username: root
  password: root
  socket: /var/run/mysqld/mysqld.sock
production:

  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: emc
  pool: 5
  username: root
  password: root
  socket: /var/run/mysqld/mysqld.sock

私は多くの方法でこの問題を解決しようとしました.mysql2バージョン<0.3を使用する必要があることを読みましたが、このバージョンではこの出力があります

警告: このバージョンの mysql2 (0.2.18) は、Rails 3.1 と互換性がありません。これは、ActiveRecord アダプターが Rails 自体に組み込まれているためです。 警告: Rails >= 3.1.x rake
で使用する予定がある場合は、0.3.x (またはそれ以降) のリリースを使用してください。 nil:NilClass タスクの未定義メソッド `accept': TOP => db:migrate (--trace でタスクを実行して完全なトレースを表示)**



誰かが私を助けてくれることを願っています、ありがとう。

4

5 に答える 5

1

あなたのgemfileにこれを試してください

使用する代わりに:

gem 'mysql2', '0.3.11'

これを使って:

gem 'mysql2'

これは私のために働いています。

ところで、あなたは重複していますgem

gem 'simple_xlsx_writer'
于 2013-05-15T09:42:48.467 に答える
1

忘れてください。http: //www.railsinstaller.org/ の Rails インストーラーを使用する代わりに、最新バージョンの Ruby と Rails を含む mysql2 が自動的にインストールされます。

于 2013-05-15T10:32:42.120 に答える
0

詳細な手順はこちら => http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby-with-it/

いくつかの重要なポイントは、適切なバージョンの mysql、ドット ネット コネクタ、および gem をインストールすることです。また、libmysql ファイルを正しい場所に配置してください。

于 2013-07-23T06:48:29.260 に答える
0

Rails と mysql2 gem を Windows にインストールするのは、他の OS ほど簡単ではありません。しかし、私はあなたの質問に対する良い答えを見つけました:

Windows 7 に MySQL2 gem をインストールできない

最善の方法は、rubyinstaller を使用して Windows にレールをインストールすることです。

于 2013-05-15T08:02:13.227 に答える