---
source_url: https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/
source_title: "Upcoming breaking changes for npm v12"
source_site: "The GitHub Blog"
source_published_at: 2026-06-09T13:04:10-07:00
hero_image: https://github.blog/wp-content/themes/github-2021-child/dist/img/social-v3-deprecations.jpg
tags: npm,security,package-management
generated_at: 2026-06-10T00:01:07.249Z
model: claude-haiku-4-5
---
# npm v12 では install の自動実行動作が廃止予定

npm v12 は 7月 2026 年の提供予定で、セキュリティ関連の重大な変更を導入する。npm install の三つの自動動作がデフォルトでオプトイン化される：allowScripts はオフがデフォルト、--allow-git はデフォルトなし、--allow-remote はデフォルトなしになる。これらの変更は npm 11.16.0 以降で警告として提供されている。

npm v12 では、npm install の実行時に三つのセキュリティ関連のデフォルト変更が導入される。従来まで自動で実行されていた動作がすべてオプトイン化され、ユーザーが明示的に許可を与える必要になる。

## セキュリティ変更の概要

allowScripts のデフォルトが off になると、npm install 時に依存パッケージから preinstall、install、postinstall、prepare スクリプトが実行されなくなる。また native node-gyp ビルドもブロックされる。ユーザーが許可を与えない限り、これらのスクリプトは実行されない。

--allow-git のデフォルトが none になることで、Git 依存関係からの依存解決がブロックされる。この変更は 2026-02-18 に以前発表されており、npm 11.10.0 以降で利用可能だった。Git 依存関係の .npmrc が Git 実行ファイルをオーバーライドするコード実行パスを塞ぐことができる。

--allow-remote のデフォルトが none になると、npm install はリモート URL 依存関係から依存解決しなくなる。npm 11.15.0 で --allow-remote フラグが利用可能になっており、v12 ではこれがデフォルトで有効にならなくなる。

## ユーザーが取るべき対応

これらの変更は npm 11.16.0 以降で警告として提供されており、ユーザーはアップグレード前に影響を確認できる。npm approve-scripts --allow-scripts-pending コマンドを実行することで、ブロックされているパッケージを確認できる。

許可するパッケージについては、npm approve-scripts で許可リストに追加し、npm deny-scripts でブロックできる。許可リストは package.json に書き込まれ、コミットして管理する必要がある。--allow-file と --allow-directory フラグはデフォルトが v12 でも変更されない。

*この記事は元記事の事実のみに基づいて自動生成されました。*

## 出典

The GitHub Blog『Upcoming breaking changes for npm v12』https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/
