2011-09-13 13 views
1

に宝石を見つけることができません。コードを送信した後、私は逃げましたレーキは、私が(3.0からアップグレード)のRails 3.1アプリケーションを公開しようとしているベンダー/宝石

bundle install --path vendor/gems RAILS_ENV=production 

それは働いた。私はbincachedocgemsspecificationsが置かれているディレクトリvendor/gems/ruby/1.9.1を、持っています。しかし、私はエラーを持っているrakeタスクを実行する場合:それはauthlogicに問題はありません

$ rake db:migrate RAILS_ENV=production 
Could not find authlogic-3.0.3 in any of the sources 
Run `bundle install` to install missing gems. 

を、それがgemsspecificationsディレクトリに両方だ、と私はからそれを削除する前に、それは誤りでannotateを述べました。 gemfile。

何が間違っていますか?

私はUbuntuの10.10、Rubyの1.9.2p0、Railsの3.1を使用して0.9.2レーキよ。コードはcapistranoによって展開され、vendorディレクトリはsharedフォルダに配置され、リリースでリンクされています。

+0

あなたは必ずバージョン番号が一致していますか? Railsは、バンドラが別のバージョンをインストールしたときに1つのバージョンを探していますか? – Slick23

+0

Ubuntuでは、1.9.1は1.9.2リリースの正式名称です。本当に奇妙な、私は知っている。インストールされているすべてのプログラムの名前は、ruby1.9.1、gem1.9.1、irb1.9.1です。すべての宝石は、デフォルトで1.9.1のフォルダに置かれています。そう、はい、この部分は確かに正しいです。 –

+0

不足している宝石はどうですか?バージョン3.0.3をインストールしましたか? – Slick23

答えて

2

あなたは、あなたが、例えばbundle execコマンドを使用する必要があり、プロジェクトの宝石を使用したい場合は、

bundle exec rake db:create 

も宝石のファイルにauthlogic宝石が必要です。

gem 'authlogic' 

最初に、vendor/folderからgemsディレクトリ全体を削除します。

bundle install --path=vendor/gems 

環境を指定する必要はありません。

関連する問題