解決npm安裝錯誤:No matching version found for event-stream@3.3.6

1. 問題描述

當剛clone一個項目,使用npm install安裝項目依賴包的時候,報錯:node

npm ERR! code ETARGET
npm ERR! notarget No matching version found for event-stream@3.3.6
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

clipboard.png

2. 解決方法

從錯誤信息:No matching version found for event-stream@3.3.6能夠知道,是因爲沒有找到這個包的3.3.6版本。
首先去 https://www.npmjs.com/ 網站搜索這個包,看看是否發佈了這個版本:npm

  1. 打開這個包:https://www.npmjs.com/package...
  2. 點擊Versions查看這個包的全部歷史版本。

clipboard.png

經查看,這個版本確實不存在json

2.1 解決方法一

若是在npm官網找到了這個版本,那麼:
須要把npm的源切換成npm本身的源在嘗試,便可正確安裝。gulp

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
在錯誤日誌文件裏面搜索event-stream@3.3.6後,找到了一段依賴信息:ui

9828 silly saveTree ├─┬ gulp-resource@1.0.39
9828 silly saveTree │ ├── amd-deploy@1.0.29
9828 silly saveTree │ └─┬ event-stream@3.3.6
9828 silly saveTree │   ├── flatmap-stream@0.1.1

clipboard.png
發現gulp-resource@1.0.39依賴了event-stream@3.3.6.
在package.json文件裏面確實發現了這個包gulp-resourcethis

如今手動安裝這個包:
npm i gulp-resource@1.0.39spa

~ npm i gulp-resource@1.0.39

> node lib/install.js

  ✔ optipng pre-build test passed successfully
+ gulp-resource@1.0.39
added 1012 packages from 500 contributors in 18.393s

正確安裝後,在從新npm install 就能正確安裝全部包了。debug

問題解決。3d

clipboard.png

相關文章
相關標籤/搜索