當剛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
從錯誤信息:No matching version found for event-stream@3.3.6
能夠知道,是因爲沒有找到這個包的3.3.6版本。
首先去 https://www.npmjs.com/ 網站搜索這個包,看看是否發佈了這個版本:npm
經查看,這個版本確實不存在json
若是在npm官網找到了這個版本,那麼:
須要把npm的源切換成npm本身的源在嘗試,便可正確安裝。gulp
若是這個特定版本的包在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
發現gulp-resource@1.0.39
依賴了event-stream@3.3.6
.
在package.json文件裏面確實發現了這個包gulp-resource
this
如今手動安裝這個包:npm i gulp-resource@1.0.39
spa
~ 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