问题:在其他电脑上开发的项目,在另一台电脑上运行时,前端部分首先需要npm install一下,安装一下项目所需要的node包,但是在安装好node、npm后,执行npm install一直报错,报错信息很长,最后提示的是:npm ERR! gyp ERR! command "H:\\nodejs\\node.exe" ……
过程:然后,就开始安装gyp……但都不起作用,针对报错的最后几行信息翻来覆去的搜索,翻来覆去的解决,都不起作用。
第二天,在看执行npm install时,终端的输出信息时,第一行的WARN信息引起了我的注意:
npm WARN old lockfile The package-lock.json file was created with an old version
也就是说npm在通过npm install安装所需的包时,是通过package-lock.json文件里的信息去执行安装的,WARN信息提示项目里的package-lock.json文件是使用旧版本的npm去生成的……也就是说我安装的npm版本太高了,使用它去安装旧版本的一些包时,会产生各种错误,各种不兼容。
解决办法:将nodejs、npm降级。于是我把npm从8降级到了6.9.0,至于降级到什么版本,可以根据之前开发机器上使用的npm版本决定。只将npm降级又会报错,因为node与npm的版本之间有对应的兼容关系,可在以下网址查询:
因此,我将之前的nodejs卸载,下载了更低版本的nodejs,下载安装是根据下面的教程进行的:
Node.js安装及环境配置之Windows篇 - 刘奇云 - 博客园 (cnblogs.com)
将node、npm都降级之后,在执行npm install就能成功运行了。