运行 npm install .nvmrc 会填充看似随机的节点版本

Running npm install .nvmrc gets populated with seemingly random node version

我项目中的

运行 npm install./node_modules/sockjs-client/.nvmrc 下创建了一个 .nvmrc 文件,它指向 6.14.2。关于我本地安装的一些信息:

问题与我的 husky git 挂钩有关,具体如下: 当我尝试从命令行提交时,我没有任何问题。节点版本已正确识别,我可以成功提交。

在其他 UI 环境中(IntelliJ、SmartGit),git 挂钩失败并显示以下内容:

0 files committed, 1 file failed to commit: lasfasdf husky > pre-commit (node v8.11.4) lint-staged requires at least version 8.12.0 of Node, please upgrade husky > pre-commit hook failed (add --no-verify to bypass)

当我删除 node_modules 文件夹和子文件夹中包含的 .nvmrc 文件时,我可以通过 IntelliJ 和 SmartGit 再次成功提交。 我的节点 IntelliJ 配置如下:

我的假设是 IntelliJ 和 SmartGit 使用了这个错误填充的 .nvmrc 文件中指定的 nvm 版本。我不太熟悉节点版本管理——事实上节点本身——所以我可能会问以下问题来解释这种不一致:

编辑: 这是我的节点解释器列表

这是我的 PATH 的内容,因为它已在 IntelliJ 中解决

PATH=/home/username/.npm-global/bin:/home/username/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

我 运行 在 Ubuntu 18.10

IntelliJ 不会创建任何 .nvmrc 文件。 你的 OS 是多少?

我建议您检查 IDE 中的 PATH 环境变量:

  • 打开"Settings | Tools | Terminal"
  • 打开"Environment Variables"对话框
  • 在继承的系统环境变量列表中找到PATH。哪个节点会根据它来解析?

那么,请

  • 打开"Settings | Languages & Frameworks | Node.js and NPM"

  • 展开 "Node.js interpreters" 下拉列表并附上它的屏幕截图。