すでに NVM をインストールしていたので、oh-my-zsh を見つけてインストールしました。.zshrcで有効にしたnvmプラグインがあるようです。
また、これを.zprofileに入れました
export NVM_DIR="/Users/me/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
これで nvm を使用できるようになりましたが、エイリアスのデフォルトを別のバージョンに設定すると、次にシェルを開いたときに nvm が元に戻ります。
$ iojs -v
v1.2.0
$ which iojs
/Users/me/.nvm/versions/io.js/v1.2.0/bin/iojs
$ nvm use 1.5.1
Now using io.js v1.5.1
$ nvm alias default iojs v1.5.1
default -> iojs (-> iojs-v1.5.1)
$ which iojs
/Users/me/.nvm/versions/io.js/v1.5.1/bin/iojs
次に、新しいシェルを開いた後:
$ which iojs
/Users/me/.nvm/versions/io.js/v1.2.0/bin/iojs
私の古い bash のインストールは、どういうわけか台無しになる可能性がありますか? 私はOSXを使用していますが、違いはないと思います。
--------- 編集 ------ 要求に応じてさらに出力
➜ ~ nvm version
iojs-v1.2.0
➜ ~ ls $NVM_DIR/alias
default
➜ ~ cat $NVM_DIR/alias/default
iojs
➜ ~ nvm alias iojs
iojs -> iojs-v1.5 (-> iojs-v1.5.1) (default)
➜ ~ nvm alias $(cat $NVM_DIR/alias/default)
iojs -> iojs-v1.5 (-> iojs-v1.5.1) (default)
1.2.0 に戻す理由がわかりました。oh-my-zsh のインストール中に、Bash シェルからアクティブな PATH を取得し、その時点でアクティブな nvm パスを含む .zshrc ファイルにコピーしたようです。
/Users/me/.nvm/versions/io.js/v1.2.0/bin
しかし、それをPATHから削除した後、新しいシェルを起動した後、zshはNodeバイナリを見つけることができなくなりました。それでも問題は私が質問することです.なぜNVM設定が記憶されないのですか? 以前のようにアクティブシェルに設定できますが、固執しません。
私は今、oh-my-zsh のインストールに根本的な問題があるのではないかと考えています。たとえば zshrc で git プラグインを有効にしていますが、コマンド「gst」は有効なエイリアスではありません。
plugins=(git、gitflow、nvm、brew、tmux)
➜ ~ gst
zsh: command not found: gst