nvmを使用している場合、ソース〜/ .bashrcを実行しても正しいバージョンのノードがロードされません


1

私はこれを私の下部に配置しました~/.bashrc

# NVM
. ~/nvm/nvm.sh
nvm ls
nvm use 0.8
nvm ls

これは、ターミナルをロードしたときの出力です。

Last login: Mon Apr 29 16:28:17 on ttys010
    v0.4.7     v0.6.14      v0.8.4      v0.8.6     v0.8.12
current:  v0.8.12
default -> 0.8 (-> v0.8.12)
Now using node v0.8.12
    v0.4.7     v0.6.14      v0.8.4      v0.8.6     v0.8.12
current:  v0.8.12
default -> 0.8 (-> v0.8.12)
usr$ which node
/Users/Vaughan/nvm/v0.8.12/bin/node

そして、私が実行するとsource ~/.bashrc

usr$ source ~/.bashrc
    v0.4.7     v0.6.14      v0.8.4      v0.8.6     v0.8.12
current:  v0.6.1
default -> 0.8 (-> v0.8.12)
Now using node v0.8.12
    v0.4.7     v0.6.14      v0.8.4      v0.8.6     v0.8.12
current:  v0.6.1
default -> 0.8 (-> v0.8.12)
usr$ which node
/usr/local/bin/node

ご覧のとおり、のバージョンnodeは正しくありません。nvmバージョンを参照しなくなりました。

一体何がおかしいのでしょうか?


$PATHが評価される順序を確認してください
-dawud

OS Xでは.bashrc、実際にはどこからもロードされません。~/.bash_profile代わりにコードを入れてください。
slhck

私はロード~/.bashrcから~/.bash_profileそうのように:if [ -f ~/.bashrc ]; then source ~/.bashrc fi
ヴォーン

さて、多分私は質問を正しく理解していないかもしれませんが、答えは「.bashrc再実行しないでください」ではないでしょうか?ターミナルをロードするときに機能しますか?たぶんnvm.sh二度呼ばれるのは好きではないでしょう。
-slhck

各ターミナルで実行したい。そして、からenv変数を調整することがあります~/.bashrcnvm.sh既にアクティブになっている場合、パスを設定しないようです。これはnvmから実行することが推奨されることを考慮して提起する問題だと思います~/.bashrc。あなたの助けをありがとう、しかし、私は正しい方向に考えさせました。
ヴォーン

回答:


1

私はこれらの2行を上部から削除してそれら~/.bashrcをに移動しました~/.bash_profile

export NODE_PATH="/usr/local/lib/node"
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/Users/Vaughan/bin:$PATH"

source ~/.bashrcNodeまたはnvmを中断せずに実行できるようになりました。

問題は、実行時にnvmがPATHをリセットしないことでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.