例如,我已经使用git切换了分支,并希望将node_modules与当前的package.json同步。我该怎么做?
答案 0 :(得分:14)
如果您的新分支有新的npm软件包或更新的版本依赖项,请在切换分支后再次运行$ npm install
。
如果您的新分支从package.json中删除了npm包,请运行$ npm prune
答案 1 :(得分:1)
当 package.json 发生变化(当我们拉入或签出到其他分支时),我们可以利用git hooks自动运行rb2.release_resources()
。
这是需要执行的脚本。我们基本上检查diff中是否存在 package.json 文件。
npm install
要在上面运行上述脚本
#/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
放入git hooks。mv post-merge .git/hooks/
,然后运行chmod +x post-checkout
答案 2 :(得分:0)
npm install
将安装packages.json
中最新版本的软件包,这通常不是您期望的行为。
最有可能在分支之间切换时,您需要在package-lock.json
中修复版本。从npm 5.7.0开始,有一个特殊的命令npm ci
会执行此操作。