在我的项目中运行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节点配置如下:
我的假设是IntelliJ和SmartGit使用此错误填充的.nvmrc
文件中指定的nvm版本。我对节点版本管理不是很熟悉,实际上我也不是节点本身,所以我可能会问以下问题以推断出这种不一致之处:
.nvmrc
文件?在哪个阶段,什么定义了它的内容?nvm ls
之外,还有其他方法可以识别机器上所有可用的节点版本吗?-我想知道是否有一些过时的节点版本使用此超旧的来驱动.nvmrc
的数量6.14.2 版本。这是我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上运行它
答案 0 :(得分:0)
IntelliJ不会创建任何.nvmrc文件。 您的操作系统是什么?
我建议您在IDE中检查PATH环境变量:
然后,请
打开“设置|语言和框架| Node.js和NPM”
展开“ Node.js解释器”下拉列表,并附上其屏幕截图。