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

时间:2019-10-14 09:18:02

标签: node.js git intellij-idea nvm husky

在我的项目中运行npm install,在 ./ node_modules / sockjs-client / .nvmrc 下创建一个.nvmrc文件,该文件指向 6.14.2 >。有关本地安装的一些信息:

  • nvm --version:0.34.0
  • npm --version:6.4.1
  • node --version:v11.3.0
  • nvm ls

    -> v11.3.0
       v12.10.0
         系统 默认-> 11.3.0(-> v11.3.0)
    节点->稳定(-> v12.10.0)(默认)
    稳定-> 12.10(-> v12.10.0)(默认)
    iojs->不适用(默认)
    不稳定->不适用(默认)
    lts / *-> lts / dubnium(->不适用)
    lts / argon-> v4.9.1(-> N / A)
    lts / boron-> v6.17.1(-> N / A)
    lts / carbon-> v8.16.1(-> N / A)
    lts / dubnium-> v10.16.3(-> N / A)

问题涉及到我的沙哑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节点配置如下: enter image description here

我的假设是IntelliJ和SmartGit使用此错误填充的.nvmrc文件中指定的nvm版本。我对节点版本管理不是很熟悉,实际上我也不是节点本身,所以我可能会问以下问题以推断出这种不一致之处:

  • 如何创建.nvmrc文件?在哪个阶段,什么定义了它的内容?
  • 除了nvm ls之外,还有其他方法可以识别机器上所有可用的节点版本吗?-我想知道是否有一些过时的节点版本使用此超旧的来驱动.nvmrc的数量6.14.2 版本。

编辑: 这是我的Node解释器的列表 enter image description here

这是我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上运行它

1 个答案:

答案 0 :(得分:0)

IntelliJ不会创建任何.nvmrc文件。 您的操作系统是什么?

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

  • 打开“设置|工具|终端”
  • 打开“环境变量”对话框
  • 在继承的系统环境变量列表中找到PATH。如何根据它解析哪个节点?

然后,请

  • 打开“设置|语言和框架| Node.js和NPM”

  • 展开“ Node.js解释器”下拉列表,并附上其屏幕截图。