【问题标题】:NVM giving error while doing nvm lsNVM 在执行 nvm ls 时出错
【发布时间】:2013-07-14 03:15:23
【问题描述】:

我正在尝试安装和切换节点版本,所以我首先使用下面的方式安装 nvm

Administrators-MacBook-Pro:~ user.name$ sudo npm install nvm -g
Password:
npm http GET https://registry.npmjs.org/nvm
npm http 304 https://registry.npmjs.org/nvm
npm http GET https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/mkdirp
/usr/local/bin/nvm -> /usr/local/lib/node_modules/nvm/bin/nvm
nvm@0.0.1 /usr/local/lib/node_modules/nvm
└── mkdirp@0.3.5

在此之后,我尝试执行“nvm ls”来列出节点版本,但它给了我一个错误(如下)。 请指教有什么问题

Administrators-MacBook-Pro:~ user.name$ nvm ls

module.js:340
    throw err;
          ^
Error: Cannot find module '/usr/local/lib/node_modules/nvm/bin/nvm-ls'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/nvm/bin/nvm:15:1)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

【问题讨论】:

  • 想知道您是否能够解决这个问题?我也遇到了这个问题,即使在导出我的 PATH 作为下面推荐的答案之后。

标签: node.js nvm


【解决方案1】:

我的解决方案 纳米〜/ .zshrc 添加 export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && 。 "$NVM_DIR/nvm.sh" # 这会加载 nvm 然后重启终端

【讨论】:

  • 首先您需要包含内联代码跨度,以便代码可读和可验证其次虽然此代码可以解决问题,包括解释解决问题的方式和原因将真正有助于提高帖子的质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请编辑您的答案以添加解释并说明适用的限制和假设。在此链接查看有关如何回答的更多详细信息:stackoverflow.com/help/how-to-answer
【解决方案2】:

我最近在将 nvm 作为 npm 包安装后遇到了这个问题(来自 https://npmjs.org/package/nvm)。

要解决此问题,请使用https://github.com/creationix/nvm#installation 处的说明直接安装 nvm

安装后

source ~/.nvm/nvm.sh

运行(这很重要,因为它使 nvm 在您当前的终端会话中可用),然后您就可以运行了

nvm ls

和其他 nvm 命令从您的项目目录成功。

希望这对学习节点有所帮助和欢呼!

【讨论】:

    【解决方案3】:

    @jewel 是正确的:截至 2016 年 1 月(可能更早),安装 NPM 的 nvm 版本似乎不再存在(至少,它的github repo 给出了 404)。如果安装了这个旧的、未维护的包,您可能会在输入 nvm 命令时看到类似"local" not implemented yetError: Cannot find module './nvm-help' 的错误。

    nvm 的正确版本现在来自https://github.com/creationix/nvm

    如果您安装了较早的(现在未维护的)版本,您可以通过执行以下步骤重新启动:

    1. npm uninstall -g nvm
    2. 使用上面 github 页面上的安装脚本

    【讨论】:

      【解决方案4】:

      要使用 nvm 命令,您需要如上所述获取它。但是您不想在每次登录后都这样做。

      只需将这些行添加到您的 ~/.bashrc~/.profile~/.zshrc 文件中即可自动拥有它登录时获取:

      export NVM_DIR="$HOME/.nvm"
      [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
      

      另见https://github.com/creationix/nvm#manual-install

      【讨论】:

      • 来自github.com/creationix/nvm#install-script 注意:在 OSX 上,如果您在运行安装脚本后得到 nvm: command not found,您的系统可能没有设置该命令的 [.bash_profile 文件]。 使用 touch 简单创建一个 ~/.bash_profile 并再次运行安装脚本。
      【解决方案5】:

      只是补充一下,我也使用 mac 但非默认 shell (zsh) 安装 nvm 将修改 .bash_profile(并添加“source ~/.nvm/nvm.sh”行)

      所以我遇到了同样的错误,您需要确保需要将“source ~/.nvm/nvm.sh”添加到您的 shell 配置文件(对我来说是 .zshrc)

      【讨论】:

        【解决方案6】:

        您是否更新了路径以包含 ./node_modules/.bin?例如:

        export PATH=./node_modules/.bin:$PATH
        

        【讨论】:

          猜你喜欢
          • 2020-11-05
          • 2018-08-14
          • 2014-12-16
          • 2016-05-04
          • 2022-07-04
          • 2017-07-26
          • 1970-01-01
          • 2023-03-08
          • 2016-09-15
          相关资源
          最近更新 更多