0

非常に特別なタスク (rails 2.3.10 と ruby​​ 1.8 を使用) のために CentOS 5 に REE をインストールしましたが、分離する必要があります。

この場合、bundler や smth は使用しません。

すべての宝石を手動でセットアップすると、すべてが正常に機能します

/opt/ree/bin/gem install agem

しかし、私が走るとき

/opt/ree/bin/rake gems:install

このコマンドプロジェクトの準備 - すべての (またはほとんどの依存関係を確認していない) gem は、/usr/bin/gem を介して共通の gem パスにインストールされます。ここでは、それらは必要ありません。

これは問題であり、すべての gem を手動でインストールしたくありません。smb はこの問題に遭遇したことがあり、おそらく解決策を知っていますか?

4

2 に答える 2

1

私を本当に助けた解決策は、一時的に/usr/bin/gemへのシンボリックリンクに置き換えることでした/opt/ree/bin/gem

この置換により/opt/ree/bin/rake gems:intall、期待どおりに機能しました-必要なすべてのgemがREEパス​​にインストールされました-元のgem実行可能ファイルに戻る/usr/bin/gemと、システムが再び安定しました

これはあまりクリーンなソリューションではありませんが、機能するため、危機的な状況でハンマーのように使用できます。

于 2011-05-01T19:16:42.013 に答える
0

環境のどこかGEM_HOMEに変数があるか、呼び出された実行時 ruby​​ がリーではありません。したがって、少なくとも 3 つのことを試すことをお勧めします。

  • ほぼ空の環境から開始し (env -i shたとえば実行)、rake コマンドを再度実行します。これでも共通の gem パスに gem がインストールされるかどうかを確認します。env -iは空の環境であるため、rubygems からの苦情が表示される可能性があるので注意してください (何も設定されていないHOMEか、他に何も設定されていないため)...
  • シバン行 (rake プログラムの最初の行) が実際に REE バイナリを示しており、他の何かを示していないことを確認してください
  • 最後に、REE バイナリを使用して rake を実行します。/opt/ree/bin/ruby /opt/ree/bin/rake gems:install

これにより、何が問題なのかがわかります。全体として、環境問題がおそらくこのことの最も可能性の高い犯人だと思います

于 2011-04-26T21:50:45.140 に答える