3 回答

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

TA貢獻1864條經驗 獲得超6個贊
你應該不包括 node_modules在.gitignore(或者說你應該包括 node_modules在源部署到Heroku的)。
如果node_modules:
存在,然后npm install將使用這些供應的庫,并使用重建任何二進制依賴項npm rebuild。
不存在,則npm install必須自己獲取所有依賴項,這會增加時間來進行編譯。
有關這些確切步驟,請參見Node.js buildpack源。
但是,原始錯誤似乎是npm和的版本之間不兼容node。始終根據此指南明確設置engines您的部分是一個好主意,以避免出現以下類型的情況:packages.json
{
"name": "myapp",
"version": "0.0.1",
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
}
}
這將確保開發人員/產品的價格均等,并減少將來發生這種情況的可能性。
- 3 回答
- 0 關注
- 622 瀏覽
添加回答
舉報