當「安裝與故宮依賴」一步運行git push heroku master
始終觸發提示一步:跳過推的Node.js應用的Heroku
與故宮安裝依賴
這一步負載,並重新安裝所有的依賴關係甚至已經存在。這非常耗時,我想在部署時忽略這一步,我知道依賴關係是相同的。
有沒有這樣的命令或選項?
當「安裝與故宮依賴」一步運行git push heroku master
始終觸發提示一步:跳過推的Node.js應用的Heroku
與故宮安裝依賴
這一步負載,並重新安裝所有的依賴關係甚至已經存在。這非常耗時,我想在部署時忽略這一步,我知道依賴關係是相同的。
有沒有這樣的命令或選項?
嘗試刪除
node_modules
例如 從你的.gitignore
它一直既然你問了這個問題,現在的Heroku buildpack緩存node_modules
,所以很長一段時間安裝時間會更快。
如果您仍然想阻止npm install
,這裏有一個解決方案。
從我寫這篇文章開始,默認的Heroku構建包不允許完全跳過npm install。您可以在dependencies.sh文件中看到,這條線將始終運行:
npm install --unsafe-perm --userconfig $build_dir/.npmrc 2>&1
但是,如果你創建一個項目文件夾名爲.npmrc
與文件,內容如下:
dry-run
這將導致NPM安裝以不修改您現有的node_modules
目錄。
注意,這種變化也將適用於Heroku的運行npm prune
命令,但將不會適用於npm rebuild
命令(這可能是罰款)。
不幸的是,如果你看看[Heroku buildpack for node.js](https://github.com/heroku/heroku-buildpack-nodejs/blob/master/bin/compile#L171),那就沒有看起來不是跳過'npm install'選項。它總是運行'npm install --production',然後是'npm rebuild'。但是,可以在heroku上創建[自己的buildpack](https://devcenter.heroku.com/articles/buildpacks),它指定了'npm install'的不同行爲。 – smithclay