我已经安装了NVM,然后我发现了我的-zsh并安装了它。它似乎有一个nvm插件,这是我在.zshrc中启用的。
我还把这个放在我的.zprofile里
export NVM_DIR="/Users/me/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm现在我可以使用nvm了,但是每当我将别名默认设置为不同版本时,nvm就会在下次打开shell时切换回来。
$ 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,我想。在安装time zsh期间,它似乎从Bash获取了活动路径,并将其复制到.zshrc文件中,包括当时的活动nvm路径:
/Users/me/.nvm/versions/io.js/v1.2.0/bin但是在从PATH中删除它之后,现在我的zsh在启动新的shell后无法找到任何Node二进制文件。所以问题是,为什么NVM设置没有被记住?我仍然可以像以前一样在活动的shell中设置它,它只是不坚持。
我现在在想,我的‘噢-我的’‘-’.‘例如,我启用了git插件,但是命令"gst“不是一个有效的别名。
plugins=(git,gitflow,nvm,brew,tmux)
➜  ~  gst
zsh: command not found: gst发布于 2021-09-29 18:12:49
正如其他用户所指出的,将它添加到我的~/.zshrc文件中可以解决这个问题。
# NVM Stuff
export NVM_DIR=~/.nvm
source $NVM_DIR/nvm.sh我只想强调,直到我把它放在接近文件末尾的地方,它才起作用。可能中间有什么东西扰乱了配置,我的nvm为每个文件夹使用了一个单独的上下文。
最后为我解决了这个问题。
https://stackoverflow.com/questions/29072711
复制相似问题