3 回答

TA貢獻1812條經(jīng)驗 獲得超5個贊
我不檢查node_modules
git時最擔心的是,在未來10年內(nèi),當您的生產(chǎn)應用程序仍在使用中時,npm可能就不在了。否則npm可能會損壞;或維護者可能決定從其存儲庫中刪除您依賴的庫;或者 否則您使用的版本可能會被剪裁掉。
可以通過Maven等回購管理器來緩解這種情況,因為您始終可以使用自己的本地Nexus或Artifactory來維護使用的軟件包的鏡像。據(jù)我了解,npm不存在這樣的系統(tǒng)。像Bower和Jamjs這樣的客戶端庫管理器也是如此。
如果您已將文件提交到自己的git倉庫中,則可以根據(jù)需要對其進行更新,并且您具有可重復構建的舒適性,并且知道您的應用不會因為某些第三方操作而中斷。

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