2012-02-28 17 views
7

Rails 3.0.3から3.2.1にアップグレードしました。私のMacではアップグレードが円滑に進められましたが、私のUbuntuプロダクションサーバで3.2.1のアプリケーションインスタンスを実行するのに問題があります。私が得ているエラーは次のとおりです。いずれかのソースでi18n-0.6.0が見つかりません

Could not find i18n-0.6.0 in any of the sources (Bundler::GemNotFound) 

明らかに、他の人がこれまでに同じ問題を抱えていました。残念ながら、the solution hereは私のためにそれを修正しません。 sudo bundle installを実行しても違いはありません。

私もthis postが見つかりましたが、正確にOPが問題を修正したのは分かりません。

this postもありますが、そこにはOPの問題があります。

そして私はi18n宝石がインストールされています:

$ gem list | grep i18n 
i18n (0.6.0, 0.5.0) 

私が間違って何ができるかわかりません。何か案は?

+0

'bundle list | grep i18n'と出力してください? – TheDelChop

+0

'* i18n(0.6.0)' –

+0

実行しようとしているコマンドにエラーがありますか? – TheDelChop

答えて

7

私は全く同じエラーがありました。あなたはrvmと乗客を使っていますか?

乗客がそのインストールが終了した後、あなたはRVMそれはあなたに似た何かをApacheの設定を更新するための指示を与え、乗客のインストールを開始する前にインストールした場合:

LoadModule passenger_module /usr/local/rvm/gems/[email protected]/gems/passenger-3.0.11/ext/apache2/mod_passenger.so 
PassengerRoot /usr/local/rvm/gems/[email protected]/gems/passenger-3.0.11 
PassengerRuby /usr/local/rvm/wrappers/[email protected]/ruby 

私がインストールしたグローバルgemsetと乗客が、後私は私のアプリケーションのために使った別の宝石を作りました(この新しい宝石を「foo」と呼ぼう)。

私のために働いたソリューションは、3行目の「FOO」に「グローバル」に変更しました:

PassengerRuby /usr/local/rvm/wrappers/[email protected]/ruby 
+0

@draganstankovicにお返事いただきありがとうございます。グローバルジェムセットの全体的なポイントは、それが多くのアプリケーションで共有できることです。 – dangerousdave

+0

@危険な祈り私の答えをもう一度読んでください。ポイントは、彼が使用するジェムセットと乗客を同期させることです。 (global、foo、barのどちらでもかまいません) – draganstankovic

1

あなたのアプリケーションのルートに.rvmrcファイルには、この問題を解決します。 rvm documentation経由:

# my-app-name/.rvmrc 
if [[ -s "/Users/sutto/.rvm/environments/[email protected]" ]] ; then 
    . "/Users/sutto/.rvm/environments/[email protected]" 
else 
    rvm --create use "[email protected]" 
fi 

正しいユーザー、Rubyのバージョンとgemset適用と交換してください。

# my-app-name/config/setup_load_paths.rb 
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm') 
    begin 
    require 'rvm' 
    RVM.use_from_path! File.dirname(File.dirname(__FILE__)) 
    rescue LoadError 
    raise "RVM gem is currently unavailable." 
    end 
end 

# If you're not using Bundler at all, remove lines bellow 
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__)) 
require 'bundler/setup' 
1
:のは、乗客が正しいパスを持っているので、setup_load_paths.rbを追加します(ここで変更することは何もありません)しましょう今

を(Linuxユーザは、おそらく家/ユーザ名/ .rvm ...を持っています)

私は同じ問題を抱えていました。私はrakeにjRubyを使用していることを認識しました(私はRVMを使用していました)。 Rubyでは問題なく行った:)

したがって、jRubyではなくRubyを使用していることを確認してください。

rvm list 

それを選択するには、インストールされているすべてのルビーと

rvm use ruby-... 

のリストを取得するには:念のためにあなたは、同様の使用をRVMを使用しています。

+0

これは私にとってはうまくいって、fooにグローバルに名前を変更するよりも意味があります – 1dayitwillmake

+0

それでも、下降しました。わーい – Sikian

3

bundle install --deployment 私のために働いた。

関連する問題