在使用brew安装nvm后,运行nvm
时显示nvm: command not found
如何使该命令可执行?
使用brew安装nvm有两个步骤。
首先使用brew安装应用程序:
brew install nvm
然后查看brew信息中的“警告”部分,查看其他需要做的事情:
brew info nvm
你可能会看到类似以下的内容(这可能会变化!):
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to ~/.bash_profile or your desired shell
configuration file:
export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"
如果您没有~/.bash_profile文件,则可以简单地创建一个。
在尝试再次运行nvm
命令之前,请确保重新启动终端。
我按照@user3207874的答案操作了,但仍无法正常运行。在这些步骤之后,我必须运行此命令:
source $(brew --prefix nvm)/nvm.sh
请运行此命令
source ~/.nvm/nvm.sh
你的系统可能没有 [.bash_profile 文件],其中命令被设置。只需使用 touch ~/.bash_profile 命令创建一个文件,然后再运行安装脚本
你可能需要重启终端。试着在终端中打开一个新的标签或窗口,然后重试。
对我来说,重启终端生效了...多希望所有错误都这么简单解决啊!!
对于Aaditya的答案,我来添加一些解释说明为什么它有效。由于我声望不够,无法回复。
基本上有两个重要的步骤需要遵循:
1. 导出NVM_DIR位置。如果不存在该文件夹,首先需要创建它。
export NVM_DIR="$HOME/.nvm"
第二步,您需要获取nvm的脚本。通常是这样的:
. "/usr/local/opt/nvm/nvm.sh"
如果第二步的路径不能正常工作,可能是因为您设备上的路径不同。使用以下命令可以轻松找到其路径:
brew --prefix nvm
输出结果将是nvm安装目录中nvm.sh
文件所在的路径。将命令置于$()内,将创建一个子shell以获取该路径。我们可以像这样使用它来源化nvm.sh脚本,无论其位于何处:
. $(brew --prefix nvm)/nvm.sh
使用该命令可以替换在.bash_profile中的"/usr/local/opt/nvm/nvm.sh"
。
在运行npm install
后,我遇到了同样的问题。
以下解决方案对我有效:
运行brew doctor
查找NPM的损坏符号链接
运行brew cleanup
清理它们
添加一些新信息。 nvm的文档有这个注释:
不支持Homebrew安装。如果您在使用homebrew安装的nvm时遇到问题,请卸载它,然后按照下面的说明安装,再提交问题。
因此,对于任何来到这里的人,可能需要通过brew卸载并按照建议进行安装:https://github.com/nvm-sh/nvm
运行
brew reinstall nvm
然后
如果不存在,您应该创建NVM的工作目录: mkdir ~/.nvm
将以下内容添加到您的shell配置文件中,例如~/.profile或~/.zshrc:
export NVM_DIR="$HOME/.nvm" [ -s "/home/linuxbrew/.linuxbrew/opt/nvm/nvm.sh" ] && . "/home/linuxbrew/.linuxbrew/opt/nvm/nvm.sh" # 这会加载nvm [ -s "/home/linuxbrew/.linuxbrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/home/linuxbrew/.linuxbrew/opt/nvm/etc/bash_completion.d/nvm" # 这会加载nvm bash_completion
brew --prefix nvm
命令,你将得到你的nvm目录路径,它可能与brew指令中的默认路径不同,例如/opt/homebrew/opt/nvm
。export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d"
source ~/.zshrc
source ~/.zshrc
或等效命令。 - Jordan Mackie