在任意项目执行npm install均报E409冲突错误求助
解决npm install时E409 Conflict错误的实用方案
哎,我最近在任何项目里跑npm install都栽跟头了,次次都弹出E409冲突错误,死盯着gulp-jshint@1.12.0这个包报错。我的Node版本是8.11.1,npm版本是5.6.0,完整的报错日志存在C:\Users\Mndco\AppData\Roaming\npm-cache\_logs\2018-04-03T08_10_01_188Z-debug.log里。折腾了半天,终于找到几个靠谱的解决办法,分享给大家:
- 先清缓存试试!执行命令:
npm cache clean --force,很多时候就是缓存里的旧文件或者损坏的缓存搞的鬼,强制清理后再重新执行npm install大概率能解决。 - 检查npm注册表是否异常,有时候用了第三方注册表可能会有同步问题,切换回官方注册表:
npm config set registry https://registry.npmjs.org/ - 如果上面两步没用,就彻底重置本地依赖:删掉项目根目录的
node_modules文件夹和package-lock.json文件,然后重新运行npm install - 考虑升级npm版本,你用的
npm 5.6.0在Node 8.x版本里可能存在已知bug,升级到同版本兼容的稳定版试试:npm install -g npm@5.10.0 - 要是还是卡在
gulp-jshint的版本冲突上,直接在package.json里指定更高的版本,比如把依赖改成"gulp-jshint": "^2.1.0",避开那个有冲突的1.12.0版本
其实E409错误本质就是npm处理包时遇到了版本冲突、缓存不一致或者注册表数据冲突的情况,从缓存、注册表、本地依赖文件这几个方向排查,基本都能解决问题。
内容的提问来源于stack exchange,提问作者Hossein Piri
相关产品推荐
相关产品推荐

