git worktreeでのquick-fix時の依存関係の罠
問題
git worktree add で一時ディレクトリにブランチをチェックアウトすると、node_modules が存在しないためpre-commitフック(lefthook)が失敗する。
必要な準備
worktreeでgit commitする前に以下が必要:
# 1. ルートの依存
yarn install --frozen-lockfile
# 2. サブディレクトリの依存(monorepo構成の場合)
cd site && yarn install --frozen-lockfile
# 3. Nuxtプロジェクトの場合、ESLint設定が .nuxt/ に依存
cd site && npx nuxt prepare
教訓
- biome: ルートの
node_modulesだけで動く - prettier:
site/node_modulesも必要(tailwind plugin等) - eslint:
.nuxt/eslint.config.mjsが必要 →nuxt prepare必須 - フックが段階的に失敗するので、全部入れてからコミットすると効率的