我有兩個目標,這幾乎是相同的:如何在訂單重要時將另一個目標打電話給另一個目標?
# install node modules from package.json and bring npm-shrinkwrap.json up to date
npm-install:
ifndef SHRINKWRAP_BIN
$(error `npm-shrinkwrap` not found. Please run `sudo npm install -g npm-shrinkwrap`)
endif
$(NPM_BIN) install --no-shrinkwrap --loglevel=error --no-optional
$(NPM_BIN) prune --no-shrinkwrap --loglevel=error
$(NPM_BIN) dedupe --no-shrinkwrap --loglevel=error
npm-shrinkwrap --dev
touch $(NPM_TIMESTAMP)
# update npm dependencies to their latest version given the semver constraints and re-write npm-shrinkwrap file
npm-update:
ifndef SHRINKWRAP_BIN
$(error `npm-shrinkwrap` not found. Please run `sudo npm install -g npm-shrinkwrap`)
endif
$(NPM_BIN) update --save-dev --loglevel=error --no-optional
$(NPM_BIN) prune --no-shrinkwrap --loglevel=error
$(NPM_BIN) dedupe --no-shrinkwrap --loglevel=error
npm-shrinkwrap --dev
touch $(NPM_TIMESTAMP)
有什麼辦法,我可以通過使它們都調用另一個目標去除一些重複?我不能只用公共部分增加的先決條件,以兩者因爲先決條件跑之前的命令和安裝/更新位必須跑第一(刪節/重複數據刪除/拆封之前)。
所以這裏的區別是'install'與'update'在第二個shell行? –
@EtanReisner'install --no-shrinkwrap'和'update --save-dev'。 – mpen