我正在尝试将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
答案 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.json
和package.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之前,请确保已提交所有更改