134

我正在使用homebrewoh-my-zsh安装全新的 OSX 10.10.1。我nvm通过homebrew然后尝试运行它但说 - zsh: command not found: nvm

知道问题是什么吗?我能够很好地安装和使用 git ......

在此处输入图像描述

在此处输入图像描述


2019 年 9 月 20 日更新

正如DarkPurple141Elise van Looij最近的回答所述。nvm似乎与 不兼容homebrew这也在位于此处的官方 nvm-sh 存储库中进行了说明。

不支持 Homebrew 安装。如果您对 homebrew 安装的 nvm 有问题,请在提交问题之前将其 brew 卸载,并使用以下说明安装它。

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

以下步骤应该会有所帮助:

  1. $brew uninstall nvm
  2. $ brew cleanup(只是为了衡量)
  3. $curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
  4. 通过运行 $ 检查 nvm 是否已正确安装command -v nvm

    4.a 如果响应不是 $ nvm,请将以下两行添加到 ~/.bash-profile 文件中: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.b 重新启动计算机(您可以尝试先关闭终端并重新启动它) 4.c $ command -v nvm should now returnnvm`

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

  6. 更新 npm:$nvm install-latest-npm
  7. $ npm install --global mocha. 最后,成功!好吧,对我来说,我也希望你。
4

9 回答 9

155

您是否按照警告中列出的说明进行操作?

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

于 2014-12-26T02:41:29.543 回答
55

你需要做两件事。遵循通过 brew 安装 nvm 后显示的警告,然后您需要激活/重新加载 .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 文件所做的更改
于 2016-06-03T11:39:56.520 回答
8

我花了几个小时在这个问题上转来转去,但我得出的结论是 DarkPurple141 是正确的:nvm 与 Homebrew 不兼容,正如他们在 Github nvm-sh/nvm 节点上所说的那样版本管理器。Homebrew 将安装 nvm 并且一切看起来都很好,直到有人尝试让 npm 安装一个模块,在我的例子中是 Mocha。这让我回到了可怕的错误:

呃!错误:EACCES:权限被拒绝,访问“/usr/local/lib/node_modules”

注意:在步骤 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. 通过运行 $ 检查 nvm 是否已正确安装command -v nvm

    4.a 如果响应不是 $ nvm,请将以下两行添加到 ~/.bash-profile 文件中: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.b 重新启动计算机(您可以尝试先关闭终端并重新启动它) 4.c $ command -v nvm should now returnnvm`

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

  6. 更新 npm:$nvm install-latest-npm
  7. $ npm install --global mocha. 最后,成功!好吧,对我来说,我也希望你。
于 2019-08-19T13:14:09.840 回答
7

虽然接受的答案在技术上确实有效,但值得注意的是,nvm软件包并未正式支持 Homebrew 安装。避免上述问题的推荐方法是应用以下任一安装方法。

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

于 2019-04-02T22:29:18.937 回答
3

要安装 nvm,brew install nvm

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

zsh每次打开时运行 nvm

  1. nano ~/.zshrc
  2. 添加这一行source $(brew --prefix nvm)/nvm.sh
于 2019-05-13T20:17:58.990 回答
1

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

在我检查过的系统上

which nvm 

不工作,但

nvm list

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

typeset -F | grep -P ' nvm$'

哪个输出

declare -F nvm

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

type -F nvm
于 2017-01-25T11:46:19.013 回答
1

brew如果使用了,一种可能性是nvm可能未链接,特别是如果它是由另一个 MAC OS 用户安装的。

在这种情况下,执行:

brew link nvm
于 2017-09-11T13:08:10.003 回答
1

我想在 github 上添加该 nvm 的位置已更改,并且版本已更改。curl 命令现在应该是:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
于 2019-10-11T12:45:24.083 回答
0

如果您碰巧使用的是鱼壳,请考虑https://github.com/jorgebucaran/nvm.fish

于 2020-09-13T00:32:07.307 回答