4

カピストラーノがデフォルトで行うように、共有パスのGemfileにgemをインストールしています。実行すると、次のようになります。

bundle exec rake assets:precompile RAILS_ENV=production

私は得る:

You have already activated rake 0.9.2.2, but your Gemfile requires rake 10.0.4. Using bundle exec may solve this.

次のことを確認してください。

cat Gemfile.lock | grep rake

戻り値:

  rake (>= 0.8.7)
rake (10.0.4)

これは私のgem environment出力です:

  - RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.3 (2013-06-27 patchlevel 448) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/bitnami/my_app/shared/bundle/ruby/1.9.1/
  - RUBY EXECUTABLE: /opt/bitnami/ruby/bin/ruby
  - EXECUTABLE DIRECTORY: /home/bitnami/my_app/shared/bundle/ruby/1.9.1/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/bitnami/my_app/shared/bundle/ruby/1.9.1/
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gemhome" => "/home/bitnami/my_app/shared/bundle/ruby/1.9.1/"
     - "gempath" => ["/home/bitnami/my_app/shared/bundle/ruby/1.9.1/"]
  - REMOTE SOURCES:
     - http://rubygems.org/

アップデート

which -a rake
/opt/bitnami/rvm/bin/rake
/opt/bitnami/ruby/bin/rake

更新 2

レーキにフルパスを与えてみましたが、同じ問題です

アップデート 3

RVMの再インストール後

  * WARNING: Found gemhome in /home/bitnami/.gemrc, please remove it, as it will break rubygems in RVM.
  * WARNING: Found gempath in /home/bitnami/.gemrc, please remove it, as it will break rubygems in RVM.
    If it is intended or a mistake 'export rvm_ignore_gemrc_issues=1' to avoid this warning.

私は今どうすればいい?gem を目的のディレクトリにインストールしたいので、そこに gem_home を追加しましたが、これが正しい方法かどうかはわかりません。

4

1 に答える 1

1

指示に従う必要があります。インストーラーが互換性のない設定があることを示している場合は、それらをクリアする必要があります。通常はこれで問題ありません。

rm -f ~/.gemrc

これに対する一般的な解決策は、ドキュメントを無効にすることでもあります (サーバー上では不要であり、とにかく多くのユーザーがローカルでドキュメントを使用することはありません):

echo 'gem: --no-ri --no-rdoc' > ~/.gemrc

どちらも/~/.gemrcを強制していた古いものを取り除きます- この変数は環境変数/を介して RVM で制御されるため、これが必要です。gemhomegempathGEM_HOMEGEM_PATH

~/.gemrc固定実行後:

rvm use 1.9.3 --default --install

Rubyがインストールされ、デフォルトとして設定され、現在の環境に適切にロードされていることを確認します。

于 2013-07-03T11:46:44.693 に答える