Heroku部署以错误npm ERR结束!找不到404:event-stream@3.3.6

时间:2018-12-07 08:16:05

标签: node.js json heroku npm

我正在尝试将nodejs部署到heroku(或firebase),并且收到与event-stream@3.3.6有关的相同错误。 我读到它已被取消,但更新到4.0.1时仍然出现相同的错误。 我尝试卸载并重新安装并删除节点模块路径,但未成功。 有什么建议吗?

remote:        NPM_CONFIG_LOGLEVEL=error
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote:        NODE_VERBOSE=false
remote:
remote: -----> Installing binaries
remote:        engines.node (package.json):  unspecified
remote:        engines.npm (package.json):   unspecified (use default)
remote:
remote:        Resolving node version 10.x...
remote:        Downloading and installing node 10.14.1...
remote:        Using default npm version: 6.4.1
remote:
remote: -----> Building dependencies
remote:        Installing node modules (package.json + package-lock)
remote:        npm ERR! code E404
remote:        npm ERR! 404 Not Found: event-stream@3.3.6
remote:
remote:        npm ERR! A complete log of this run can be found in:
remote:        npm ERR!     /tmp/npmcache.i7KQx/_logs/2018-12- 
06T15_24_26_926Z- 
debug.log

我的package.json: package.json

我的package-lock.json: package-lock.json

3 个答案:

答案 0 :(得分:2)

我不必删除整个node_modules目录,并且可以通过执行适当的步骤来解决相同的问题,首先在代码编辑器中进行搜索(我使用VS Code),然后查找在整个项目目录中提到此特定版本的地方。

remote:        Installing node modules (package.json + package-lock)
remote:        npm ERR! code E404
remote:        npm ERR! 404 Not Found: event-stream@3.3.6

使用最新版本更新所有您在其中看到受到感染的参考版本的实例。在撰写本文时,我已更新为4.0.1。 保存所有更改,然后在文件目录中运行

npm i event-stream --save and you should see a success 

运行npm install,保存更改以便更新软件包后,您应该会看到类似以下内容:

+ event-stream@4.0.1
updated 1 package and audited 2504 packages in 5.716s
found 0 vulnerabilities

但是,错误仍然存​​在???您还记得提交更改吗?我最初不是。因此出现了另一个错误。

remote:        npm ERR! code E404
remote:        npm ERR! 404 Not Found: event-stream@3.3.6
remote:        
remote:        npm ERR! A complete log of this run can be found in:
remote:        npm ERR!     /tmp/npmcache.i1VvE/_logs/2018-12-14T22_03_01_715Z- 
debug.log

有关Github部署的新手说明-如果您要进行git push heroku master部署应用程序,请确保将所有package.jsonpackage.lock.json的更改提交到项目的master分支并合并代码,否则,Heroku不会更改您的更改,因为它始终看起来可以反映您的master分支。 新手犯错,但在使用多个分支时容易忽略。

Voila,部署成功了

remote: -----> Building dependencies
remote:        Installing node modules (package.json + package-lock)
remote:        
remote:        > nodemon@1.18.6 postinstall 
/tmp/build_b1cf3a0085ddaf6796dc22cf8066c082/node_modules/nodemon
remote:        > node bin/postinstall || exit 0

您现在可以进入Heroku验证已构建的文件,并希望看到您的工作已部署。

答案 1 :(得分:1)

事件流3.3.6具有漏洞 https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident

您必须更改事件流的最新版本

$ npm i event-stream --save

答案 2 :(得分:0)

您需要做的就是干净安装软件包以升级到最新补丁,这应该得到解决:

1. npm uninstall

2. npm install npm-run-all nodemon

如果有package-lock.json文件,请删除它。

在部署到heroku之前,请确保已提交所有更改

相关问题