解决npm安装错误:No matching version found for [email protected]

1. 问题描述

当刚clone一个项目,使用npm install安装项目依赖包的时候,报错:

npm ERR! code ETARGET
npm ERR! notarget No matching version found for [email protected]
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget 
npm ERR! notarget It was specified as a dependency of 'project-name'
npm ERR! notarget 

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/dragon/.npm/_logs/2018-12-19T11_45_03_469Z-debug.log

解决npm安装错误:No matching version found for event-stream@3.3.6_第1张图片

2. 解决方法

从错误信息:No matching version found for [email protected]可以知道,是由于没有找到这个包的3.3.6版本。
首先去 https://www.npmjs.com/ 网站搜索这个包,看看是否发布了这个版本:

  1. 打开这个包:https://www.npmjs.com/package...
  2. 点击Versions查看这个包的所有历史版本。

解决npm安装错误:No matching version found for event-stream@3.3.6_第2张图片

经查看,这个版本确实不存在

2.1 解决方法一

如果在npm官网找到了这个版本,那么:
需要把npm的源切换成npm自己的源在尝试,即可正确安装。

2.2 解决方法二

如果这个特定版本的包在npm官网没有找到,说明确实没有。
此时需要找到哪个包依赖了这个包。
看错误信息中有一条信息:It was specified as a dependency of 'project-name', 说明这个特定版本的包是project-name所依赖的。

那么直接单独安装这个包即可解决问题。
由于project-name是我项目的名字,所以是这个项目下的某一个包依赖了这个特定的包。
如果错误信息里面没有更多的信息,那么只能去npm的log文件里面去查看:
/Users/dragon/.npm/_logs/2018-12-19T11_45_03_469Z-debug.log
在错误日志文件里面搜索[email protected]后,找到了一段依赖信息:

9828 silly saveTree ├─┬ [email protected]
9828 silly saveTree │ ├── [email protected]
9828 silly saveTree │ └─┬ [email protected]
9828 silly saveTree │   ├── [email protected]

clipboard.png
发现[email protected]依赖了[email protected].
在package.json文件里面确实发现了这个包gulp-resource

现在手动安装这个包:
npm i [email protected]

~ npm i [email protected]

> node lib/install.js

  ✔ optipng pre-build test passed successfully
+ [email protected]
added 1012 packages from 500 contributors in 18.393s

正确安装后,在重新npm install 就能正确安装所有包了。

问题解决。

解决npm安装错误:No matching version found for event-stream@3.3.6_第3张图片

你可能感兴趣的:(npm)