3 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
我不檢查node_modules
git時(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>

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ā)生這種情況的可能性。
- 3 回答
- 0 關(guān)注
- 630 瀏覽
添加回答
舉報(bào)