2011-02-06 4 views
2

私の宝石にgem installまたはbundle installを使用しても、動作しません。場合によってはsudo gem installが動作する宝石を得ます。私はgem list -dwhich gemコマンドを実行しました。私のシステムはすべての宝石が "/Library/Ruby/Gems/1.8"にインストールされるように設定されていますが、私の環境では "/ usr/bin/gem"どうすればこの問題を正しく修正できますか?私は、「バンドル」はローカルのアプリケーション固有の宝石のコピーをインストールできなければならないという印象を受けましたか?OS 10.6.6でruby gemがインストールされているパスを変更する方法Ruby 1.8およびRails 3

答えて

4

RVM(Ruby Version Manager)を使用して、あなたの宝石をインストールするRubyのバージョンを制御することをお勧めします。また、すべてのバンドルと宝石のデータをホームディレクトリのフォルダに保存するのに役立ちます。

+1

+1 for RVM。 OPはインストールセクションを読んで、すべてが完了したことを確認する必要があります - あまりにも多くの人がそれを部分的にしか行いません。そして、いったんRVMがインストールされると、RVMで制御されたRuby用の宝石をインストールするために 'sudo'を使用しないでください。悪いことが起こるでしょう。 –

+0

これが唯一の妥当なオプションであれば、RVMの指示に従って ".bash_profile"を見つけて何かを追加することになっています。上記のファイルはどこにありますか? – Kirill

+0

ホームディレクトリ(〜/ .bash_profile)に存在しない場合は、自由に作成してください。 –

12

多くのRubyistsがあなたにRVMまたはRBENVをお勧めしますが、私はそれを使用しません。それは非常に遅く、あなたの環境を汚染します。

Bundlerを使用している場合、RVMはまったく必要ありません。rubygem自体は複数のバージョンのシングル宝石をサポートしています。だから、宝石(例えばgem installなど)を使うだけで、$ HOME/.gemディレクトリにデフォルトでインストールされます。

$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.25 
    - RUBY VERSION: 1.9.3 (2013-02-06 patchlevel 385) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /home/lzap/.gem/ruby/1.9.3 
    - RUBY EXECUTABLE: /usr/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/lzap/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /home/lzap/.gem/ruby/1.9.3 
    - /usr/share/gems 
    - /usr/local/share/gems 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - "install" => "--no-rdoc --no-ri" 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

これはGEM_HOME環境変数でも変更できます。ハッピーな宝石!

関連する問題