第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Heroku上創(chuàng)建node.js應用程序時是否應該將node_modules檢入git中?

在Heroku上創(chuàng)建node.js應用程序時是否應該將node_modules檢入git中?

慕少森 2019-10-04 15:50:12
我在這里遵循了Heroku上node.js的基本入門說明:https://devcenter.heroku.com/categories/nodejs這些指令不會告訴您創(chuàng)建.gitignore node_modules,因此暗示應將node_modules檢入git。當我在git中包含node_modules時,我的入門應用程序正確運行。當我遵循以下更高級的示例時:https://devcenter.heroku.com/articles/realtime-polyglot-app-node-ruby-mongodb-socketio https://github.com/mongolab/tractorpush-server (源)它指示我將node_modules添加到.gitignore。因此,我從git中刪除了node_modules,將其添加到.gitignore中,然后重新部署。這次部署失敗,如下所示:-----> Heroku receiving push-----> Node.js app detected-----> Resolving engine versions       Using Node.js version: 0.8.2       Using npm version: 1.0.106-----> Fetching Node.js binaries-----> Vendoring node into slug-----> Installing dependencies with npm       Error: npm doesn't work with node v0.8.2       Required: node@0.4 || 0.5 || 0.6           at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23           at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)           at Module._compile (module.js:449:26)           at Object.Module._extensions..js (module.js:467:10)           at Module.load (module.js:356:32)           at Function.Module._load (module.js:312:12)           at Module.require (module.js:362:17)           at require (module.js:378:17)           at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)           at Module._compile (module.js:449:26)       Error: npm doesn't work with node v0.8.2       Required: node@0.4 || 0.5 || 0.6           at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23           at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)           at Module._compile (module.js:449:26)           at Object.Module._extensions..js (module.js:467:10)           at Module.load (module.js:356:32)           at Function.Module._load (module.js:312:12)           at Module.require (module.js:362:17)運行“ heroku ps”可確認崩潰。好的,沒問題,所以我回滾了更改,將node_module添加回git存儲庫,并將其從.gitignore中刪除。但是,即使還原后,在部署時我仍然會收到相同的錯誤消息,但是現(xiàn)在應用程序再次正常運行。運行“ heroku ps”會告訴我該應用程序正在運行。所以我的問題是什么是正確的方法?是否包含node_modules?為什么回滾時仍會收到錯誤消息?我的猜測是git儲存庫在Heroku方面處于不良狀態(tài)?
查看完整描述

3 回答

?
慕雪6442864

TA貢獻1812條經(jīng)驗 獲得超5個贊

檢查node_modulesgit時最擔心的是,在未來10年內(nèi),當您的生產(chǎn)應用程序仍在使用中時,npm可能就不在了。否則npm可能會損壞;或維護者可能決定從其存儲庫中刪除您依賴的庫;或者 否則您使用的版本可能會被剪裁掉。

可以通過Maven等回購管理器來緩解這種情況,因為您始終可以使用自己的本地Nexus或Artifactory來維護使用的軟件包的鏡像。據(jù)我了解,npm不存在這樣的系統(tǒng)。像Bower和Jamjs這樣的客戶端庫管理器也是如此。

如果您已將文件提交到自己的git倉庫中,則可以根據(jù)需要對其進行更新,并且您具有可重復構建的舒適性,并且知道您的應用不會因為某些第三方操作而中斷。


查看完整回答
反對 回復 2019-10-04
?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

你應該不包括 node_modules在.gitignore(或者說你應該包括 node_modules在源部署到Heroku的)。


如果node_modules:


存在,然后npm install將使用這些供應的庫,并使用重建任何二進制依賴項npm rebuild。

不存在,則npm install必須自己獲取所有依賴項,這會增加時間來進行編譯。

有關這些確切步驟,請參見Node.js buildpack源。


但是,原始錯誤似乎是npm和的版本之間不兼容node。始終根據(jù)此指南明確設置engines您的部分是一個好主意,以避免出現(xiàn)以下類型的情況:packages.json


{

  "name": "myapp",

  "version": "0.0.1",

  "engines": {

    "node": "0.8.x",

    "npm":  "1.1.x"

  }

}

這將確保開發(fā)人員/產(chǎn)品的價格均等,并減少將來發(fā)生這種情況的可能性。


查看完整回答
反對 回復 2019-10-04
  • 3 回答
  • 0 關注
  • 619 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號