关于macos:Homebrew安装了nvm,但是之后找不到nvm?

Homebrew installs nvm but nvm can't be found afterwards?

我在全新的OSX 10.10.1安装中使用homebrewoh-my-zsh。我通过homebrew获得了nvm,然后尝试运行它,但说-zsh:未找到命令:nvm

有什么问题吗?我能够安装并使用git很好...

enter

通过运行$ 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。终于成功了!好吧,对我来说,我也希望你。

  • 您是否遵循了警告中列出的说明?

    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。


    您需要做两件事。按照通过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文件所做的更改应用到

  • 尽管已接受的答案在技术上可行,但值得注意的是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用户安装的。

    在这种情况下,执行:

    1
    brew link nvm


    之所以需要重新加载bash配置文件或任何其他bash文件,可能是因为命令nvm可能不是一个程序,而是一个已定义的函数,并且仅当源于相应的bash文件时才可以使用。 >

    在我检查过的系统上

    1
    which nvm

    不起作用,但

    1
    nvm list

    确实。这意味着您可以使用单词" nvm"来调用某些内容。那不是程序。在当前情况下,该函数可以通过

    进行验证

    1
    typeset -F | grep -P ' nvm$'

    输出

    1
    declare -F nvm

    这意味着nvm是一个函数,可以通过执行

    来检查其主体

    1
    type -F nvm


    添加到.bash_profile.zshrc中:

    1
    2
    export NVM_DIR="$HOME/.nvm"
    source $(brew --prefix nvm)/nvm.sh

    但是第二行使终端初始化变慢。解决方案:
    https://gist.github.com/gfguthrie/9f9e3908745694c81330c01111a9d642