首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NVM不坚持使用ZSH默认别名(噢-my-zsh)

NVM不坚持使用ZSH默认别名(噢-my-zsh)
EN

Stack Overflow用户
提问于 2015-03-16 08:49:47
回答 8查看 12.1K关注 0票数 22

我已经安装了NVM,然后我发现了我的-zsh并安装了它。它似乎有一个nvm插件,这是我在.zshrc中启用的。

我还把这个放在我的.zprofile里

代码语言:javascript
复制
export NVM_DIR="/Users/me/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

现在我可以使用nvm了,但是每当我将别名默认设置为不同版本时,nvm就会在下次打开shell时切换回来。

代码语言:javascript
复制
$ 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

然后在打开一个新的外壳之后:

代码语言:javascript
复制
$ which iojs
/Users/me/.nvm/versions/io.js/v1.2.0/bin/iojs

我以前的bash装置会不会搞砸了?我在OSX上,不过我想这没什么区别。

-编辑

代码语言:javascript
复制
➜  ~  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路径:

代码语言:javascript
复制
/Users/me/.nvm/versions/io.js/v1.2.0/bin

但是在从PATH中删除它之后,现在我的zsh在启动新的shell后无法找到任何Node二进制文件。所以问题是,为什么NVM设置没有被记住?我仍然可以像以前一样在活动的shell中设置它,它只是不坚持。

我现在在想,我的‘噢-我的’‘-’.‘例如,我启用了git插件,但是命令"gst“不是一个有效的别名。

plugins=(git,gitflow,nvm,brew,tmux)

代码语言:javascript
复制
➜  ~  gst
zsh: command not found: gst
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2015-11-09 07:57:58

将下面添加到.zshrc末尾

代码语言:javascript
复制
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

请注意,那一定是在最后,我不知道为什么

票数 26
EN

Stack Overflow用户

发布于 2015-03-22 21:43:29

我现在让它起作用了。重新安装哦-天啊。

我不知道是什么改变了。看来我确实需要保持nvm插件的启用才能工作。

如果没有插件,我尝试将nvm启动命令放入.zprofile中。

代码语言:javascript
复制
export NVM_DIR="/Users/me/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

尽管文件是在创建新shell时加载的,但它似乎没有正确地启用NVM。

我还注意到,如果我在.zshrc中的zsh插件配置中犯了错误,就没有错误,而且插件根本无法工作。所以这件事我想是要小心的。例如,我意外地使用了逗号,然后插件在没有警告的情况下中断:

代码语言:javascript
复制
plugins=(git, gitflow, nvm)
票数 10
EN

Stack Overflow用户

发布于 2017-01-19 19:35:24

我使用OSX10.11.6与Hyper和哦我的Zsh。我不得不卸载通过nvm安装的homebrew,通过curl命令重新安装它,然后将这一行添加到最底层,这样它才能正常工作。我确信这是我所有插件/设置/诸如此类的东西,但这正是使它对我有效的原因:

代码语言:javascript
复制
source "$NVM_DIR/nvm.sh"

在我的~/.zshrc文件的末尾

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29072711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档