ChatGPT解决这个技术问题 Extra ChatGPT

Homebrew 安装 nvm 但之后找不到 nvm?

我在全新的 OSX 10.10.1 安装中使用 homebrewoh-my-zsh。我通过 homebrew 获得了 nvm,然后尝试运行它,但显示 - zsh: command not found: nvm

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

https://i.stack.imgur.com/9OyhP.png

https://i.stack.imgur.com/dBjOx.png

2019 年 9 月 20 日更新

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

不支持 Homebrew 安装。如果您对 homebrew 安装的 nvm 有问题,请在提交问题之前将其 brew 卸载,并使用以下说明安装它。注意:如果您使用的是 zsh,您可以轻松地将 nvm 安装为 zsh 插件。安装 zsh-nvm 并运行 nvm 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 现在应该返回 nvm` 现在使用 $ nvm install --lts 更新 Node.js 更新 npm: $ nvm install-latest-npm $ npm install --全球摩卡。最后,成功!好吧,对我来说,我也希望你。

如果您重新启动终端,它是否仍然存在?
尝试输入 rehash 或打开一个新的 shell。有时 zsh 不接受添加。
我已经关闭了外壳,重新启动了系统,什么也没有。重新哈希并没有运气。
brew link nvm 怎么样?
警告:已链接:/usr/local/Cellar/nvm/0.20.0 重新链接:brew unlink nvm && brew link nvm

D
Doon

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

[~] 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(我也不使用终端,更喜欢 Iterm2),将每个 shell 作为登录 shell 打开,所以是的 .bash_profile 在这种情况下是正确的。 . 信息也发生了变化。所以你应该参考最新版本..
谢谢!我错过了这一行 source $(brew --prefix nvm)/nvm.sh。将其添加到我的 .zshrh
r
redfox05

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

运行 brew install nvm 遵循控制台中显示的警告,我的如下,你的可能不同!:

将以下内容添加到 ~/.bash_profile 或您想要的 shell 配置文件中: export NVM_DIR="$HOME/.nvm" 。 "$(brew --prefix nvm)/nvm.sh"

跑 。 ~/.bash_profile 应用您对 .bash_profile 文件所做的更改


这对 Bash 用户很有用,但 OP 在 zsh 上。我想这同样适用于 .zshrc 并进行了必要的修改。
D
Dayan

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

呃!错误:EACCES:权限被拒绝,访问“/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 现在应该返回 nvm` 现在使用 $ nvm install --lts 更新 Node.js 更新 npm: $ nvm install-latest-npm $ npm install --全球摩卡。最后,成功!好吧,对我来说,我也希望你。


对于使用 zshrc 而不是 bash 的人,请在步骤 4.a 中使用以下命令:nano ~/.zshrc 现在添加两个命令,重新启动终端,一切顺利:)
只是要补充一点,在第 4 步,需要将完整信息添加到从第 3 步返回的 .bash_profile 中。我的情况是:export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.嘘"] && \. "/opt/homebrew/opt/nvm/nvm.sh" # 这会加载 nvm [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # 这会加载 nvm bash_completion 然后运行 . ~/.bash_profile 以保持终端准备好使用它。
D
DarkPurple141

虽然接受的答案在技术上确实有效,但值得注意的是,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


R
Ricky Dam

要安装 nvm,brew install nvm

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

每次打开 zsh 时运行 nvm

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


S
Saurabh Hirani

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

在我检查过的系统上

which nvm 

不工作,但

nvm list

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

typeset -F | grep -P ' nvm$'

哪个输出

declare -F nvm

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

type -F nvm

很好..但是,这是怎么回答的?
感谢 Dayan 的更新 - 编辑了答案 - 我找不到它的原因,因为我依赖它是一个程序,但它被定义为一个函数。想强调这一点。
要检查 nvm 是否已正确安装,请在终端中使用“命令 -v nvm”。响应应该是“nvm”。如果不是,请按照 github.com/nvm-sh/nvm#installation-and-update 上的说明进行操作。
R
Robin James Kerrison

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

在这种情况下,执行:

brew link nvm

O
Onno van der Zee

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

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

t
tutuDajuju

如果您碰巧在使用 fish shell,请考虑 https://github.com/jorgebucaran/nvm.fish


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅