31

最近 Rails 3 にアップグレードし、Rails 3.0.3 で新しいアプリケーションを作成しましたが、エラーが発生し続けます

Macintosh:$ レールサーバー
=> WEBrick の起動
=> http://0.0.0.0:3000 で開発を開始する Rails 3.0.3 アプリケーション
=> -d を指定して呼び出すとデタッチされます
=> Ctrl-C でサーバーをシャットダウン
[2010-11-28 11:32:47] INFO WEBrick 1.3.1
[2010-11-28 11:32:47] INFO ルビー 1.8.7 (2010-04-19) [i686-darwin10.4.0]
[2010-11-28 11:32:47] INFO WEBrick::HTTPServer#start: pid=1055 ポート=3000


Sun Nov 28 11:32:52 +0000 2010 で 127.0.0.1 の GET "/" を開始しました

RuntimeError (!!! mysql2 gem がありません。Gemfile に追加してください: gem 'mysql2'):


私は64ビットマシンを持っています。エラーはドキュメントのみにあり、gem が正しくインストールされているように見えました。

Macintosh:$ env ARCHFLAGS="-arch i386" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
ネイティブ拡張機能の構築。これにはしばらく時間がかかる場合があります...
mysql2-0.2.6 が正常にインストールされました
1つの宝石がインストールされています
mysql2-0.2.6 の ri ドキュメントをインストールしています...
クラス クライアントのエンクロージング クラス/モジュール 'mMysql2' が不明です
mysql2-0.2.6 の YARD (yri) インデックスを構築しています...
mysql2-0.2.6 の RDoc ドキュメントをインストールしています...
クラス クライアントのエンクロージング クラス/モジュール 'mMysql2' が不明です

GemFile に gem を追加しました

ソース「http://rubygems.org」

宝石「レール」、「3.0.3」
宝石「mysql2」
gem 'sqlite3-ruby', :require => 'sqlite3'

私の GemFile.lock は次のようになります

宝石
  リモート: http://rubygems.org/
  仕様:
    要約 (1.0.0)
    アクションメーラー (3.0.3)
      アクションパック (= 3.0.3)
      メール (~> 2.2.9)
    アクションパック (3.0.3)
      アクティブモデル (= 3.0.3)
      アクティブサポート (= 3.0.3)
      ビルダー (~> 2.1.2)
      エルビス (~> 2.6.6)
      国際化 (~> 0.4)
      ラック (~> 1.2.1)
      ラックマウント (~> 0.6.13)
      ラックテスト (~> 0.5.6)
      tzinfo (~> 0.3.23)
    アクティブモデル (3.0.3)
      アクティブサポート (= 3.0.3)
      ビルダー (~> 2.1.2)
      国際化 (~> 0.4)
    アクティブレコード (3.0.3)
      アクティブモデル (= 3.0.3)
      アクティブサポート (= 3.0.3)
      アレル (~> 2.0.2)
      tzinfo (~> 0.3.23)
    アクティブリソース (3.0.3)
      アクティブモデル (= 3.0.3)
      アクティブサポート (= 3.0.3)
    アクティブサポート (3.0.3)
    アレル (2.0.4)
    ビルダー (2.1.2)
    エルビス(2.6.6)
      要約 (>= 1.0.0)
    国際化 (0.4.1)
    メール (2.2.10)
      アクティブサポート (>= 2.3.6)
      国際化 (~> 0.4.1)
      MIME タイプ (~> 1.16)
      こずえ (~> 1.4.8)
    MIME タイプ (1.16)
    mysql2 (0.2.6)
    ポリグロット (0.3.1)
    ラック (1.2.1)
    ラックマウント (0.6.13)
      ラック (>= 1.0.0)
    ラックテスト (0.5.6)
      ラック (>= 1.0)
    レール (3.0.3)
      アクションメーラー (= 3.0.3)
      アクションパック (= 3.0.3)
      アクティブレコード (= 3.0.3)
      アクティブリソース (= 3.0.3)
      アクティブサポート (= 3.0.3)
      バンドラー (~> 1.0)
      レールティー (= 3.0.3)
    レールティー (3.0.3)
      アクションパック (= 3.0.3)
      アクティブサポート (= 3.0.3)
      レーキ (>= 0.8.7)
      トール (~> 0.14.4)
    レーキ (0.8.7)
    sqlite3-ルビー (1.2.4)
    トール (0.14.6)
    こずえ (1.4.9)
      ポリグロット (>= 0.3.1)
    ツズインフォ (0.3.23)

プラットフォーム
  ルビー

依存関係
  mysql2
  レール (= 3.0.3)
  sqlite3-ルビー

宝石一覧

Macintosh:$ gem リスト

*** 地元の宝石 ***

要約 (1.0.0)
アクションメーラー (3.0.3)
アクションパック (3.0.3)
アクティブモデル (3.0.3)
アクティブレコード (3.0.3)
アクティブリソース (3.0.3)
アクティブサポート (3.0.3)
act_as_ferret (0.4.4)
アレル (2.0.4)
ビルダー (3.0.0、2.1.2)
バンドラー (1.0.7)
カピストラーノ (2.5.9)
DNSSD (1.3)
エルビス(2.6.6)
ファストスレッド (1.0.7)
gnuplot (2.2)
ハイライン (1.6.1、1.5.1)
プリコット (0.8.1)
国際化 (0.4.2、0.4.1)
libxml-ルビー (1.1.3)
ラインキャッシュ (0.43)
メール (2.2.10)
memcache クライアント (1.8.5、1.7.6)
memcached (0.17.5)
MIME タイプ (1.16)
mysql2 (0.2.6)
net-scp (1.0.4、1.0.2)
net-sftp (2.0.5、2.0.2)
net-ssh (2.0.23、2.0.15)
ネット-ssh-ゲートウェイ (1.0.1)
ポリグロット (0.3.1)
ラック (1.2.1、1.0.1、1.0.0)
ラックマウント (0.6.13)
ラックテスト (0.5.6)
レール (3.0.3)
レールティー (3.0.3)
レーキ (0.8.7、0.8.4)
rcov (0.9.9、0.9.8)
rdoc (2.5.11)
レッドクロス(4.2.2)
rmagick (2.12.2)
ruby-debug-base (0.10.3)
ruby-debug-ide (0.4.5)
rubygems-update (1.3.7、1.3.5、1.3.3)
rvm (1.1.1)
sqlite3-ルビー (1.3.2、1.2.4)
テスト仕様 (0.10.0)
テキスト形式 (1.0.0)
テキストハイフン (1.0.0)
トール (0.14.6)
こずえ (1.4.9)
ツズインフォ (0.3.23)
ヤード (0.5.8)

私のMysqlは稼働中です:

Macintosh:$ mysql -uroot
MySQL モニターへようこそ。コマンドは ; で終わります。または \g.
MySQL 接続 ID は 1 です
サーバーのバージョン: 5.1.53 MySQL Community Server (GPL)

Copyright (c) 2000、2010、Oracle および/またはその関連会社。全著作権所有。
このソフトウェアには、絶対的な保証はありません。これはフリーソフトウェアで、
GPL v2 ライセンスに基づいて、改変および再配布を歓迎します。

「ヘルプ;」と入力します。または '\h' でヘルプが表示されます。現在の入力ステートメントをクリアするには、「\c」と入力します。

mysql>

これが私の新しいアプリケーションのすべてですが、まだ mysql2 gem が見つからないという問題が発生しています。

X Code 3.2.4 がインストールされた Snow Leopard 10.6.5 があります。

何か案が?

前もって感謝します!

4

2 に答える 2

89

実際、database.yml に間違ったアダプターが設定されていました

したがって、修正は

発達:
  アダプター: mysql2
  データベース: development_database
  ユーザー名: ルート
  パスワード:

それ以外の

アダプター: mysql

どっ!

于 2010-11-28T15:04:46.090 に答える
5

最近これが表示されているのは、mysql20.3がActiveRecordアダプターを削除したためです。これは現在Rails3.1の一部です。

WARNING: This version of mysql2 (0.3.2) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x

Rails 3.0.xを使用している場合は、それに応じてGemfileを調整してください

gem 'mysql2', '~> 0.2.6'
于 2011-05-30T03:16:50.967 に答える