簡體   English   中英

Heroku部署以錯誤npm ERR結束! 找不到404:event-stream@3.3.6

[英]Heroku deploy ends with error npm ERR! 404 Not Found: event-stream@3.3.6

我正在嘗試將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

我不必刪除整個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本文時,我已更新為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不會更改您的更改,因為它總是看起來像在反映您的主分支。 新手犯錯,但在使用多個分支時容易忽略。

瞧,部署成功了

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驗證已構建的文件,並希望看到已部署的工作。

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

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

$ npm i event-stream --save

您需要做的就是干凈安裝軟件包以升級到最新補丁,並且應該解決此問題:

1. npm uninstall

2. npm install npm-run-all nodemon

如果有的話,還要刪除package-lock.json文件。

確保在部署到heroku之前提交所有更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM