我在全新的OSX 10.10.1安装中使用homebrew和oh-my-zsh。我通过homebrew获得了nvm,然后尝试运行它,但说-zsh:未找到命令:nvm
有什么问题吗?我能够安装并使用git很好...
已更新2019年9月20日
如DarkPurple141和Elise van Looij的最新答案所述。 nvm似乎与homebrew不兼容。在此处的官方nvm-sh存储库中也对此进行了说明。
Homebrew installation is not supported. If you have issues with
homebrew-installed nvm, please brew uninstall it, and install it using
the instructions below, before filing an issue.
Note: If you're using zsh you can easily install nvm as a zsh plugin.
Install zsh-nvm and run nvm upgrade to upgrade.
以下步骤应有所帮助:
$ brew uninstall nvm
$ brew cleanup(仅用于衡量)
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
通过运行$ command -v nvm检查nvm是否正确安装。
4.a如果响应不是$ nvm以外的任何其他内容,请在?/ .bash-profile文件中添加以下两行:
export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b重新启动计算机(您可以尝试关闭终端并先重新启动)
4.c $ command -v nvm should now return nvm`
现在使用$ nvm install --lts
更新Node.js
更新npm:$ nvm install-latest-npm
$ npm install --global mocha。终于成功了!好吧,对我来说,我也希望你。
- 如果重新启动终端,它是否仍然存在?
-
尝试输入rehash或打开新的shell。有时zsh不会选择其他内容。
-
我已经关闭了外壳,重新启动了系统,什么也没有。重新哈希,没有运气。
-
Brew链接nvm会做什么呢?
-
警告:已链接:/usr/local/Cellar/nvm/0.20.0要重新链接:brew unlink nvm
-
您是否遵循了警告中列出的说明?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [~] brew info nvm
nvm: stable 0.20.0, HEAD
https://github.com/creationix/nvm
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:
source $(brew --prefix nvm)/nvm.sh
Node installs will be lost upon upgrading nvm. Add the following above
the source line to move install location and prevent this:
export NVM_DIR=~/.nvm |
没有额外的配置,默认情况下它不会找到NVM。
434511
您需要做两件事。按照通过brew安装nvm之后显示的警告,然后您需要激活/重新加载.bash_profile更改。
-
运行brew install nvm
-
请遵循控制台中显示的警告,我的警告如下,您的可能有所不同!:
Add the following to ~/.bash_profile or your desired shell
configuration file:
1 2
| export NVM_DIR="$HOME/.nvm"
."$(brew --prefix nvm)/nvm.sh" |
-
运行. ~/.bash_profile将您对.bash_profile文件所做的更改应用到
434511
之所以需要重新加载bash配置文件或任何其他bash文件,可能是因为命令nvm可能不是一个程序,而是一个已定义的函数,并且仅当源于相应的bash文件时才可以使用。 >
在我检查过的系统上
不起作用,但
确实。这意味着您可以使用单词" nvm"来调用某些内容。那不是程序。在当前情况下,该函数可以通过
进行验证
1
| typeset -F | grep -P ' nvm$' |
输出
这意味着nvm是一个函数,可以通过执行
来检查其主体
434511
使用brew的一种可能性是,nvm可能是未链接的,特别是如果它是由另一个MAC OS用户安装的。
在这种情况下,执行:
434511
尽管已接受的答案在技术上可行,但值得注意的是nvm软件包未正式支持Homebrew安装。避免出现上述问题的建议方法是应用以下两种安装方法之一。
1 2 3 4
| curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# or wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash |
源:https://github.com/creationix/nvm
434511
要安装nvm,brew install nvm
要在安装后运行nvm或仅运行一次,请$(brew --prefix nvm)/nvm.sh
每次zsh打开时都要运行nvm
-
nano ~/.zshrc
-
添加此行source $(brew --prefix nvm)/nvm.sh
434511
我已经花了几个小时来解决这个问题,但是我得出的结论是DarkPurple141是正确的:nvm与Homebrew不兼容,因为他们在其Github nvm-sh上声明/ nvm节点版本管理器。 Homebrew将安装nvm,一切看起来都很好,直到有人尝试让npm安装模块(在我的情况下为Mocha)。那让我回到了可怕的错误:
ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
注意:在第3步中,请确保使用正确的发行版替换版本。
在MacOS 10.14 Mojave上,解决方案是:
-
$ brew uninstall nvm
-
$ brew cleanup(仅用于衡量)
-
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
-
通过运行$ command -v nvm检查nvm是否正确安装。
4.a如果响应不是$ nvm,则将以下两行添加到?/ .bash-profile文件中:
export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b重新启动计算机(您可以尝试关闭终端并先重新启动)
4.c $ command -v nvm should now return nvm`
-
现在使用$ nvm install --lts
更新Node.js
-
更新npm:$ nvm install-latest-npm
-
$ npm install --global mocha。终于成功了!好吧,对我来说,我也希望你。
434511
我想添加nvm在github上的位置更改,并且版本增加。
curl命令现在应为:
1
| curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash |
434511
添加到.bash_profile或.zshrc中:
1 2
| export NVM_DIR="$HOME/.nvm"
source $(brew --prefix nvm)/nvm.sh |
但是第二行使终端初始化变慢。解决方案:
https://gist.github.com/gfguthrie/9f9e3908745694c81330c01111a9d642
434511
如果您碰巧正在使用鱼壳,请考虑https://github.com/jorgebucaran/nvm.fish
您是否遵循了警告中列出的说明?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [~] brew info nvm
nvm: stable 0.20.0, HEAD
https://github.com/creationix/nvm
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:
source $(brew --prefix nvm)/nvm.sh
Node installs will be lost upon upgrading nvm. Add the following above
the source line to move install location and prevent this:
export NVM_DIR=~/.nvm |
没有额外的配置,默认情况下它不会找到NVM。
- 谢谢您对Doon的注意,我不知道brew info,对于homebrew还是陌生的:)在执行完这些步骤之后,它现在可以正常工作了。
-
安装完成后也应显示它们。但是,如果您不寻找它们,可能会错过它们。
-
我必须将其添加到~/.bash_profile才能使其工作:/
-
唔。我不使用bash(更喜欢zsh),但它看起来像OSX terminal.app(我也不使用terminal,更喜欢Iterm2),将每个shell作为登录shell打开,因此,在这种情况下,.bash_profile是正确的。 。信息也已更改。因此,您应该参考最新版本。
-
谢谢!我错过了这行source $(brew --prefix nvm)/nvm.sh。将其添加到我的.zshrh
-
还需要一点。不要忘记通过运行脚本来应用更改!我在stackoverflow.com/a/37613432/339803中注意到了这一点
-
这会减慢终端启动速度
您需要做两件事。按照通过brew安装nvm之后显示的警告,然后您需要激活/重新加载.bash_profile更改。
运行brew install nvm
请遵循控制台中显示的警告,我的警告如下,您的可能有所不同!:
Add the following to ~/.bash_profile or your desired shell
configuration file:
1 2
| export NVM_DIR="$HOME/.nvm"
."$(brew --prefix nvm)/nvm.sh" |
运行. ~/.bash_profile将您对.bash_profile文件所做的更改应用到
-
这对Bash用户很有用,但是OP在zsh上。我想对.zshrc进行必要的修改也是如此。
尽管已接受的答案在技术上可行,但值得注意的是nvm软件包未正式支持Homebrew安装。避免出现上述问题的建议方法是应用以下两种安装方法之一。
1 2 3 4
| curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# or wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash |
源:https://github.com/creationix/nvm
我已经花了几个小时来解决这个问题,但是我得出的结论是DarkPurple141是正确的:nvm与Homebrew不兼容,因为他们在其Github nvm-sh上声明/ nvm节点版本管理器。 Homebrew将安装nvm,一切看起来都很好,直到有人尝试让npm安装模块(在我的情况下为Mocha)。那让我回到了可怕的错误:
ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
注意:在第3步中,请确保使用正确的发行版替换版本。
在MacOS 10.14 Mojave上,解决方案是:
$ brew uninstall nvm
$ brew cleanup(仅用于衡量)
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
通过运行$ command -v nvm检查nvm是否正确安装。
4.a如果响应不是$ nvm,则将以下两行添加到?/ .bash-profile文件中:
export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b重新启动计算机(您可以尝试关闭终端并先重新启动)
4.c $ command -v nvm should now return nvm`
现在使用$ nvm install --lts
更新Node.js
更新npm:$ nvm install-latest-npm
$ npm install --global mocha。终于成功了!好吧,对我来说,我也希望你。
我想添加nvm在github上的位置更改,并且版本增加。
curl命令现在应为:
1
| curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash |
要安装nvm,brew install nvm
要在安装后运行nvm或仅运行一次,请$(brew --prefix nvm)/nvm.sh
每次zsh打开时都要运行nvm
nano ~/.zshrc
添加此行source $(brew --prefix nvm)/nvm.sh
如果您碰巧正在使用鱼壳,请考虑https://github.com/jorgebucaran/nvm.fish
使用brew的一种可能性是,nvm可能是未链接的,特别是如果它是由另一个MAC OS用户安装的。
在这种情况下,执行:
之所以需要重新加载bash配置文件或任何其他bash文件,可能是因为命令nvm可能不是一个程序,而是一个已定义的函数,并且仅当源于相应的bash文件时才可以使用。 >
在我检查过的系统上
不起作用,但
确实。这意味着您可以使用单词" nvm"来调用某些内容。那不是程序。在当前情况下,该函数可以通过
进行验证
1
| typeset -F | grep -P ' nvm$' |
输出
这意味着nvm是一个函数,可以通过执行
来检查其主体
-
很好..但是,这是一个怎样的答案?
-
感谢Dayan的更新-编辑了答案-之所以我找不到它的原因是因为我依赖于它是一个程序,但它被定义为一个函数。想要强调这一点。
-
要检查nvm是否已正确安装,请在终端中使用" command -v nvm"。响应应为" nvm"。如果不是,请按照github.com/nvm-sh/nvm#installation-and-update上的说明进行操作。
添加到.bash_profile或.zshrc中:
1 2
| export NVM_DIR="$HOME/.nvm"
source $(brew --prefix nvm)/nvm.sh |
但是第二行使终端初始化变慢。解决方案:
https://gist.github.com/gfguthrie/9f9e3908745694c81330c01111a9d642