1

Ubuntu環境でmysqlデータベースを使用してRubyonRailsアプリケーションを開発しようとしています。Railsとmysqlを正常にインストールしました。しかし、モデルを生成しようとすると、メッセージが報告されます

 rails g model person
      invoke  active_record
/home/meuser/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.) (LoadError)

次に、activerecord-mysql-adapterをインストールしようとしました。

meuser@ubuntu:~/myproject$ gem install activerecord-mysql-adapter
ERROR:  Could not find a valid gem 'activerecord-mysql-adapter' (>= 0) in any repository
ERROR:  Possible alternatives: activerecord-jdbcmysql-adapter, activerecord-jdbcmssql-adapter, activerecord-fb-adapter, activerecord-odbc-adapter, activerecord-jdbc-adapter
meuser@ubuntu:~/myproject$ 

以下の答えから始めて、私もこれを試しました:

meuser@ubuntu:~/myproject$ gem "mysql2", "< 0.3"
ERROR:  While executing gem ... (RuntimeError)
    Unknown command mysql2,
meuser@ubuntu:~/myproject$ 

この:

meuser@ubuntu:~/myproject$ gem 'mysql2'
ERROR:  While executing gem ... (RuntimeError)
    Unknown command mysql2
meuser@ubuntu:~/myproject$ 

この:

meuser@ubuntu:~/myproject$  gem install "mysql2" -v=2.8.17
ERROR:  Could not find a valid gem 'mysql2' (= 2.8.17) in any repository
ERROR:  Possible alternatives: mysql2
meuser@ubuntu:~/myproject$ 

この:

meuser@ubuntu:~/myproject$ sudo apt-get install libmysql-ruby libmysqlclient-dev
[sudo] password for meuser: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libmysqlclient-dev is already the newest version.
libmysql-ruby is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
meuser@ubuntu:~/myproject$ gem "mysql2", "< 0.3"
ERROR:  While executing gem ... (RuntimeError)
    Unknown command mysql2,
meuser@ubuntu:~/myproject$ 

これが私のdatabase.ymlファイルです

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  database: myproject_db
  username: root
  password: somepassword
  host: localhost
  socket: /var/run/mysqld/mysqld.sock

誰かがこの問題の解決策を知っていますか?ありがとう。

4

2 に答える 2

0

アダプタgemは「mysql2」と呼ばれ、gemfileに追加する必要があります。

gem 'mysql2'

次に、bundleコマンドを実行し、database.ymlファイルを編集して適切なデータベースを指すようにします。

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: yourapp_development
  pool: 5
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock
于 2012-06-10T21:11:50.280 に答える
-1

0.2.8のようなバージョン<0.3でmysql2gemをインストールしてみてください。これは一般的な問題です。

Gemfileタイプ

gem "mysql2", "< 0.3"
于 2012-06-10T21:09:14.043 に答える