2015-04-28 61 views
1

我習慣根據Composer(PHP的NPM外殼)部署代碼,即體育.json.lock文件。第一個描述了軟件包和你的版本限制,第二個列出了安裝的內容。總是有一個鎖文件,你運行composer install你一定會收到相同的一套軟件包;運行composer update將重新讀取json文件,安裝新版本並更新鎖定文件。如何最佳自動化NPM相關項目的部署?

這對於生產部署非常棒,因爲您不需要將您的依賴關係簽出到您的版本控制系統,並且確保您在開發中擁有完全相同的生產依賴關係。

我的問題是:如何最佳自動部署NPM依賴代碼?是否有可能實現類似於Composer的方法?我注意到npm install只安裝package.json文件中第一個可用的內容。第一次運行後,即如果更改版本約束,則必須手動將該軟件包包裝爲npm update,並且這會導致自動部署無用,因爲無法檢入版本「在此更新此軟件包到新版本」...

回答

0

npm shrinkwrap是composer.lock文件的模擬。它會生成一個npm-shrinkwrap.json,其中包含所有版本,因此您可以使用它來部署到生產環境。你也可以嘗試從npm到lock版本的各種庫,或者在不改變packages.json的情況下搜索updates