3

$HOME に python パッケージをインストールすることについてはすでに質問しました。それは完璧に機能しました。

今、私はVagrantをインストールする予定です。これはgem(Rubyパッケージ)で、$HOMEフォルダにもインストールしたいのですが、慣れていないのでこちらでお願いします。

もう走ったけど、

sudo gem update --system

彼らのmac チュートリアルが続きます。そして、彼らの推奨事項を使用してVagrantをインストールしようとすると:

gem install vagrant

私は得る:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /usr/bin directory.

(うまくいかないのは奇妙ですgem install vagrant。バニラがインストールされたMacでVagrantの公式Webサイトのガイドに従いましたが、ここではRubyを使用したことがなく、エラーが発生しました。特に、sudoを使用する必要はありません。)

Ok。sudoを使用すると解決しますが、このgemシステム全体をインストールしたくありません。pipで行ったように$ HOMEにインストールしたいのですが、これを台無しにせずにそれを行う方法がわかりませんマック機。誰かがそれを最善の方法で行う方法を手伝ってもらえますか? ~/.gemmyなどに追加する必要がある場合、どの変数をエクスポートする必要があります$PATHか。(私が使用したとき、私はすでにすべてを台無しにしましたsudo gem update --systemか?)

一部の人々はrvmの使用を提案していますが、システム Ruby に対して Ruby アプリケーションを開発するつもりはないので、これはやり過ぎだと思います。Vagrant を実行したいだけです。もちろん、他に方法がない場合は、それを使用します。

私の宝石環境コマンドの出力:

gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.10
  - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-10
  - GEM PATHS:
     - /Library/Ruby/Gems/1.8
     - /Users/user/.gem/ruby/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

編集チュートリアルを見つけました。それは、私に追加するだけでよいと言っています.profile

export GEM_HOME=$HOME/.gems
export PATH=$GEM_HOME/bin:$PATH

このアプローチを使用しても安全ですか?

4

1 に答える 1

2

私が投稿したチュートリアルのアプローチを使用すると、うまくいくようです。私のシナリオでこのアプローチに注意点があり (Ruby アプリケーションを実行したいだけで、開発したくない)、経験豊富な Ruby 開発者が私自身の答えを受け入れるのを待つつもりです。:)

転写されたチュートリアル:

推奨: Gem をホーム ディレクトリにインストールする

可能であれば、gem をグローバル システムにインストールすることは避けてください。これにより、インストールする gem の識別と管理が容易になり、Ruby のグローバル インストールに干渉しなくなります。

RubyGems 1.3 以降、RubyGems は、システムの場所にアクセスできない場合、GEM_HOME 環境変数で指定されたディレクトリに gem を自動的にインストールします。GEM_HOME ディレクトリ内に、gem ファイルを保存するディレクトリが作成されていることがわかります。これは、gem ユーティリティを管理者権限で実行しない限り、パッケージを管理するときに RubyGems が正しいことを行うことを意味します。

これを行うには、ホーム ディレクトリの .profile ファイルを編集し、次の行を追加または修正します。

export GEM_HOME=$HOME/gems

export PATH=$GEM_HOME/bin:$PATH

これは、次回のログイン時またはターミナル ウィンドウの作成時に有効になります。

PATH に bin サブディレクトリが存在するため、gem パッケージと共にインストールされた任意のコマンドライン ユーティリティを使用できます。

于 2011-09-05T03:45:16.460 に答える