Homebrew 安装了 nvm 但是后来找不到 nvm?

我正在使用 homebrewoh-my-zsh安装新的 OSX 10.10.1。我通过 homebrew得到 nvm,然后试图运行它,但是说-没有找到命令: nvm

知道问题出在哪儿吗? 我可以很好地安装和使用 git..。

enter image description here

enter image description here


更新于2019年9月20日

正如 暗紫141Elise van Looij最近的答复所述。nvm似乎与 homebrew不兼容。这也在位于 给你的官方 nvm-sh 回购中说明。

不支持自制安装 自制安装的 nvm,请冲洗卸载,并安装它使用 在提交发行文件之前,请参阅下列说明。

注意: 如果您使用 zsh,您可以轻松地将 nvm 安装为 zsh 插件。 安装 zsh-nvm 并运行 nvm 升级以进行升级。

下列步骤应该有所帮助:

  1. $brew uninstall nvm

  2. $brew cleanup(仅供参考)

  3. $curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

  4. 通过运行 $command -v nvm检查 nvm 是否安装正确。

    4. a 如果响应不是 $nvm,那么在 ~/. bash-profile 文件中添加以下两行: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh

    重新启动您的计算机(您可以尝试关闭终端和重新启动它第一)

    4.c $command -v nvm should now return nvm’

  5. 现在用 $nvm install --lts更新 Node.js

  6. 更新 npm: $nvm install-latest-npm

  7. $npm install --global mocha。终于,成功了! 嗯,对我来说,我也希望你成功。

98493 次浏览

你有没有遵循注意事项中列出的指示?

[~] 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。

你需要做两件事。按照安装 nvm 后通过 brew 显示的警告,然后您需要 激活/重新加载. bash _ profile 更改。

  1. 运行 brew install nvm
  2. 按照控制台中显示的警告,我的警告如下,你的可能不同! :

将以下内容添加到 ~/. bash _ profile 或您想要的 shell 配置文件:

export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"
  1. 运行 . ~/.bash_profile以应用对. bash _ profile 文件所做的更改

您需要重新加载 bash 配置文件或任何其他 bash 文件的原因可能是因为命令 nvm 可能不是一个程序,而是一个定义好的函数,只有在相应的 bash 文件来源时才能使用。

在我检查过的系统里

which nvm

不工作,但

nvm list

是的。这意味着您可以使用单词“ nvm”来调用某些东西。那东西不是程序。在当前情况下,它是一个可以通过以下方法验证的函数

typeset -F | grep -P ' nvm$'

输出

declare -F nvm

这意味着 nvm 是一个函数,它的主体可以通过

type -F nvm

如果使用 brew,一种可能性是 nvm可能被解除链接,特别是如果它是由另一个 MAC 操作系统用户安装的。

在这种情况下,执行:

brew link nvm

虽然接受的答案在技术上是可行的,但值得注意的是,家酿的安装并没有得到 nvm软件包的正式支持。避免上述问题的建议方法是应用以下任何一种安装方法。

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

要安装 nvm,brew install nvm

要在安装后运行 nvm,或者只运行一次,$(brew --prefix nvm)/nvm.sh

zsh每次打开时运行 nvm

  1. nano ~/.zshrc
  2. 添加这一行 source $(brew --prefix nvm)/nvm.sh

我已经花了几个小时来讨论这个问题,但我得出的结论是,Dark Purple141是正确的: nvm 只是不兼容 Homebrew,因为他们在他们的 Github Nvm-sh/nvm 节点版本管理器上声明。Homebrew 将安装 nvm,一切看起来都很好,直到有人尝试让 npm 安装模块,在我的例子中是 Mocha。这让我又回到了那个可怕的错误:

错误: EACCES: 权限拒绝,访问’/usr/local/lib/node _ module’

注意: 在步骤3中,确保用正确的版本替换版本。

在 MacOS 10.14 Mojave 上的解决方案是:

  1. $brew uninstall nvm
  2. $brew cleanup(仅供参考)
  3. $curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
  4. 通过运行 $command -v nvm检查 nvm 是否安装正确。

    4. a 如果响应不是 $nvm,那么在 ~/. bash-profile 文件中添加以下两行: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 重新启动您的计算机(您可以尝试关闭终端和重新启动它第一) 4.c $command -v nvm should now returnnvm‘

  5. 现在用 $nvm install --lts更新 Node.js

  6. 更新 npm: $nvm install-latest-npm
  7. $npm install --global mocha。终于,成功了! 嗯,对我来说,我也希望你成功。

我想要添加的是,nvm 在 github 上的位置发生了变化,版本也发生了变化。 Curl 命令现在应该是:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash

如果您正好使用 鱼壳,请考虑 https://github.com/jorgebucaran/nvm.fish