目录
一:问题回顾
二:问题分析
三:npm降级或者升级
四:npm和node js 关系
一:问题回顾
今天在本地部署一个vue开发的项目,需要在本地看下运行情况,按照常规的操作就是在网站根目录运行npm install 安装依赖包,然后启动 npm run serve,奈何报错了。
报错信息如下:
我英语不太好,打眼一看,意思好像是安装依赖出现了问题,我本地的nodejs版本是14.21.3,npm版本是9.6,难道是版本兼容问题。
解决方法1:降低npm版本,我把npm版本降到6.14.12继续安装
哇,小齿轮一下子转动起来了,好像看到了胜利的曙光了
果不其然,看到了久违的提示
重新启动下 npm run serve
怎么样就是这么6。
如果不行,我们需要把我们的nodejs版本换成低版本比如10.24.1,然后安装npm为制定版本,这里可能有缓存,卸载node js前需要先删除这里的缓存文件
二:问题分析
咋一看安装软件出问题,又是依赖问题,根据问题搜索查找方案,好多解决方案都说npm的版本问题最多。那么就发现npm的高版本对安装依赖有严格限制,低版本就相对宽松些。具体是
在npm 6.9及以上版本,如果你尝试安装一个包,而这个包的package.json文件中指定了一个不兼容的依赖版本,npm将会报错。这是因为npm引入了一个名为“node_modules peerDependencies”的特性,该特性要求包的使用者必须安装指定的对等依赖。
如果你需要npm在安装依赖时更加严格地遵守package.json中指定的版本范围,你可以使用--strict-peer-dependencies标志。这将导致npm在安装时如果发现有任何不匹配的对等依赖项时报错。
例如,如果你想要严格安装依赖,并且遇到版本不匹配时报错,你可以使用以下命令:
npm install --strict-peer-dependencies
如果你想要在npm高版本上使用这个特性,你只需确保你使用的是6.9或更高版本即可。
因此我们讲降到6.1对安装依赖的要求就相对友好。
三:npm降级或者升级
1. 直接使用npm命令升级:
- 升级到最新版本:npm install npm -g
- 升级到指定版本:npm install npm@<version> -g
例如: npm install npm@6.14.12 -g
2.npm更新源:
npm config set registry https://registry.npmmirror.com
四:npm和node js 关系
Node.js是JavaScript的一种运行环境,npm是node.js的包管理器。
两者是包含关系:
node.js中包含npm,npm是node.js的包管理器,npm不需要单独的安装,在安装Node的时候会将npm一起安装。