[英]How to sync node_modules with actual package.json?
例如,如果我已經用 git 切換了分支並希望將node_modules
與當前的package.json
同步。 我怎么做?
如果您的新分支有新的 npm 包或更新的版本依賴項,只需在切換分支后再次運行$ npm install
。
如果您的新分支從 package.json 中刪除了 npm 包,請運行$ npm prune
當我們拉取或檢出不同的分支時,當package.json發生變化時,我們可以使用git hooks自動運行npm install
。
這是需要執行的腳本。 我們主要檢查差異中是否存在package.json文件。
#/usr/bin/env bash
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
check_run package.json "npm install"
運行上面的腳本
chmod +x post-merge
使其可執行,然后mv post-merge .git/hooks/
將其放入 git hooks。chmod +x post-checkout
然后mv post-checkout .git/hooks/
npm install
將安裝從包的最新版本packages.json
這往往是不期望的行為。
當您在分支之間切換時,您很可能希望在package-lock.json
修復版本。 從 npm 5.7.0 開始,有一個特殊的命令npm ci
可以做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.