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


記錄一下使用npm 的踩坑問題

1. 問題描述

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

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

2. 解決方法

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

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

clipboard.png

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

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

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-resource

現在手動安裝這個包:
npm i gulp-resource@1.0.39

~ 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 就能正確安裝所有包了。

問題解決。

clipboard.png

                                            </article>

原文:https://segmentfault.com/a/1190000017469402


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM