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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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

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

慕少森 2019-10-04 15:50:12
我在這里遵循了Heroku上node.js的基本入門說明:https://devcenter.heroku.com/categories/nodejs這些指令不會(huì)告訴您創(chuàng)建.gitignore node_modules,因此暗示應(yīng)將node_modules檢入git。當(dāng)我在git中包含node_modules時(shí),我的入門應(yīng)用程序正確運(yùn)行。當(dāng)我遵循以下更高級(jí)的示例時(shí):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)運(yùn)行“ heroku ps”可確認(rèn)崩潰。好的,沒問題,所以我回滾了更改,將node_module添加回git存儲(chǔ)庫(kù),并將其從.gitignore中刪除。但是,即使還原后,在部署時(shí)我仍然會(huì)收到相同的錯(cuò)誤消息,但是現(xiàn)在應(yīng)用程序再次正常運(yùn)行。運(yùn)行“ heroku ps”會(huì)告訴我該應(yīng)用程序正在運(yùn)行。所以我的問題是什么是正確的方法?是否包含node_modules?為什么回滾時(shí)仍會(huì)收到錯(cuò)誤消息?我的猜測(cè)是git儲(chǔ)存庫(kù)在Heroku方面處于不良狀態(tài)?
查看完整描述

3 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

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

可以通過Maven等回購(gòu)管理器來緩解這種情況,因?yàn)槟冀K可以使用自己的本地Nexus或Artifactory來維護(hù)使用的軟件包的鏡像。據(jù)我了解,npm不存在這樣的系統(tǒng)。像Bower和Jamjs這樣的客戶端庫(kù)管理器也是如此。

如果您已將文件提交到自己的git倉(cāng)庫(kù)中,則可以根據(jù)需要對(duì)其進(jìn)行更新,并且您具有可重復(fù)構(gòu)建的舒適性,并且知道您的應(yīng)用不會(huì)因?yàn)槟承┑谌讲僮鞫袛唷?/p>


查看完整回答
反對(duì) 回復(fù) 2019-10-04
?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

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


如果node_modules:


存在,然后npm install將使用這些供應(yīng)的庫(kù),并使用重建任何二進(jìn)制依賴項(xiàng)npm rebuild。

不存在,則npm install必須自己獲取所有依賴項(xiàng),這會(huì)增加時(shí)間來進(jìn)行編譯。

有關(guān)這些確切步驟,請(qǐng)參見Node.js buildpack源。


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


{

  "name": "myapp",

  "version": "0.0.1",

  "engines": {

    "node": "0.8.x",

    "npm":  "1.1.x"

  }

}

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


查看完整回答
反對(duì) 回復(fù) 2019-10-04
  • 3 回答
  • 0 關(guān)注
  • 630 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)