web-dev-qa-db-ja.com

$ PATH変数の変更

Node.jsをインストールしようとしています。

しましたbrew install node

うまくいったようです。

ただし、完了時にこのメッセージを受信しました

Homebrewはnpmをインストールしました。
PATH環境への次のパスを前に付けることをお勧めします
npmがインストールされたバイナリを取得する変数:
/ usr/local/share/npm/bin

わかりました...では、bash_profile ..を開きます。

そして、これは私がそれに持っているものです:

 export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*

私がそれを台無しにしないようにそれを正しく修正する方法を理解しようとしています...

このように/usr/local/share/npm/binを追加しますか

export PATH="/usr/local/bin:/usr/local/sbin:~/bin/usr/local/share/npm/bin:$PATH"

そうでない場合、そのパスを追加する正しい方法は何ですか?

助けてくれてありがとう!

PS。私が提供できたかもしれない追加情報があれば私に知らせてください

[〜#〜]編集[〜#〜]

macedigitalの回答でwhich npmを見て、私はそれを実行しました...

そしてこれを手に入れました:/usr/local/bin/npm

そしてそれは私が2番目の答え(すなわち、泥棒マスターの答え)をする前でした。

which npmを再度実行しました.。

以前と同じ答えを得ました...

私は$PATHをエコーし​​、これを取得しました:

/Users/name/.rvm/gems/Ruby-1.9.3-p374/bin:/Users/name/.rvm/gems/Ruby-1.9.3-p374@global/bin:/Users/name/.rvm/ rubies/Ruby-1.9.3-p374/bin:/Users/name/.rvm/bin:/ usr/local/share/npm/bin:/ usr/local/bin:/ usr/local/sbin:〜/ bin :/ usr/bin:/ bin:/ usr/sbin:/ sbin:/ usr/X11/bin:/ usr/local/git/bin

それで、私はすでにそれをインストールしたように見えますか?

したがって、どのように答えを処理しますか?両方ともとても役に立ち、echo $PATH情報を提供せずに尋ねたので、それを未解決のままにしておくのは嫌いです。

編集2

ls -la /usr/local/share/npm/binはこれを取得します:

ls:/ usr/local/share/npm/bin:そのようなファイルまたはディレクトリはありません

which -a npmはこれを取得します:/usr/local/bin/npm

編集

ls -a /usr/local/bin/npmはこれを取得します:/usr/local/bin/npm

タイムスタンプはありません...

6

短い答え、これを行います(私が挿入した追加のコロンに注意してください):

export PATH="/usr/local/share/npm/bin:/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

$PATH環境変数はcolon完全修飾パスなしでコマンドを実行する場合(たとえば、npm入力する代わりに/usr/local/share/npm/bin/npm)。

実際にbash_profileに変更を保存する前に、ターミナルからこれを試すことができます。すべてが良ければ、which -a npmはすべての完全修飾パスを表示します。

[〜#〜]更新[〜#〜]

Npmを使用するために$ PATH変数を変更する必要はありません。代わりにhomebrewinstallが推奨するのは、npmがインストールされたバイナリが格納されているディレクトリを$ PATH変数に追加することです。これにより、後でコマンドラインからそれらを使用する方が便利です。

Phantomjs、phonegap、expressなどのノードモジュールは、変更後にフルパスを入力せずにコマンドプロンプトで使用できるバイナリを提供します。

7
macedigital

最もクリーンな解決策は、投稿した2行の間に以下を追加することです。

export PATH="/usr/local/share/npm/bin:$PATH"

そうすれば、すべてが読みやすくなり、プログラムが提案したように、PATHの前に追加します。また、変更を元に戻したい場合は、長い行を編集する代わりに、その行を削除するだけです。

6
ThiefMaster

PATH ORDER IS重要です。したがって、必要なnpmバージョンより前のものはすべて問題を引き起こします。

#adding in first place of the path, before anything else
export PATH=/usr/local/bin:otherPathEntries:$PATH

必要なnpmのバージョンが/ usr/local/binにあると仮定して、すべてをチェックするには 'which -anpm'を使用します

0
SkorpEN