0

私のrbファイルは次のように単純です:

require 'rubygems'
require 'mysql2'
require 'sequel'

Sequel.connect(:adapter => 'mysql2', :database=>'xxx', :user => 'xxx', :password => 'xxxxxx', :host => 'xxxxxxxx.compute-1.amazonaws.com')

このファイルを実行すると、次のエラーが発生しました。

> /usr/lib64/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
  `require': cannot load such file -- mysql2 (LoadError)    from
> /usr/lib64/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
  `require'     from t.rb:2:in `<main>'

Amazon インスタンスに対してコマンド「bundle list」を実行したところ、次のリストが表示されました。

バンドルに含まれる宝石: * actionmailer (3.2.8) * actionpack (3.2.8) * activemodel (3.2.8) * activerecord (3.2.8) * activeresource (3.2.8) * activesupport (3.2.8) * arel (3.0.2) * ビルダー (3.0.0) * バンドラー (1.0.21) * コーヒーレール (3.2.2) * コーヒースクリプト (2.2.0) * コーヒースクリプトソース (1.3.3) * erubis (2.7.0) * execjs (1.4.0) * ハイキング (1.2.1) * i18n (0.6.0) * 旅 (1.0.4) * jquery-rails (2.1.1) * json (1.7.5) *メール (2.4.4) * mime-types (1.19) * multi_json (1.3.6) * mysql2 (0.3.11) * polyglot (0.3.3) * ラック (1.4.1) * ラックキャッシュ (1.2) * ラック-ssl (1.3.2) * rack-test (0.6.1) * rails (3.2.8) * railties (3.2.8) * rake (0.9.2.2) * rdoc (3.12) * sass (3.2.1) *サスレール (3.2.5) * 続編 (3.38.0) * スプロケット (2.1.3) * トール (0.16.0) * チルト (1.3.3) * ツリートップ (1.4.10) * tzinfo (0.3.33)

ご覧のとおり、mysql2 gem があります。何かアドバイスはありますか?

皆さんありがとう!

4

1 に答える 1

0

Ok!それを解決します。私のローカル環境では、Gemfile を手動で編集しました (おそらく正しい方法ではありません)。「gem mysql2」という 1 行を追加し、コンソールで「bundle install」を実行して、Gemfile を github にアップロードしました。

最後に、Amazon インスタンスで環境をデプロイして変更を適用し、コマンド「RAILS_ENV=production bundle exec file.rb」(常に production を使用) を実行すると、ファイルは正常に実行されます。

皆さんありがとう!

于 2012-08-28T22:14:05.247 に答える