概要
pnpm が npm に加えて Cargo・PyPI のパッケージも扱うようになったことに伴う、設定スキーマの統合作業。issue 14945 のフォローアップとして [[repos/pnpm-pnpm/changes/2026-09-24|#15035 → #15043 → #15054]] と続いた一連の PR により、overrides・registries・supportedArchitectures・ダウンロード元ミラーなど、以前はエコシステムごとにバラバラだった設定が共通の形にまとまりつつある。pnpm add も Package URL(purl)を受け付けるようになり、--force 実行時のプラットフォームフィルタの扱いも見直された。Cargo 連携では、pnpm install --frozen-lockfile が Cargo.toml と合わない Cargo.lock を ERR_PNPM_OUTDATED_LOCKFILE で拒否するようになった(未リリース)。
主な API・オプション
overrides.npm/overrides.pypi— エコシステム別の依存関係上書き(PyPI 側は PEP 508 要求文字列)registries.<url>.ecosystem—npm/cargo/pypi。複数インデックスは宣言順に検索supportedArchitectures— プラットフォーム名(linux-x64など)の列挙、または Rust ターゲットトリプル。python.platformsを統合済みtools.<name>.mirror/tools.<name>.channels— Node/Bun/Deno/Python のダウンロード元ミラーpnpm add pkg:npm/.../pkg:cargo/.../pkg:pypi/...— Package URL によるパッケージ追加forceIgnoresPlatform—--force実行時にプラットフォーム不一致の optional dependencies をスキップするか(v12 既定false/ v11 既定true)cargo.enabled: true+--frozen-lockfile—Cargo.lockをワークスペースメンバーの依存と照合
変更履歴
- 2026-09-30 — frozen install で古い
Cargo.lockを拒否(#16357)⏳ 未リリース · 変更 - 2026-09-24 —
--forceでもプラットフォームフィルタを効かせるforceIgnoresPlatformを追加(#15330)⏳ 未リリース · 変更 - 2026-09-24 —
registriesのエントリにエコシステム(npm/pypi/cargo)を指定できるように(#15054)📦 v12.6.0 · 変更 - 2026-09-24 — pnpm がダウンロードするツール(Node/Bun/Deno/Python)のミラーを
toolsで一括設定(#15043)📦 v12.6.0 · 変更 - 2026-09-24 —
supportedArchitecturesにプラットフォーム単位の指定を追加、python.platformsを統合(#15035)📦 v12.6.0 · 変更 - 2026-09-24 —
overridesにエコシステムごとのセクションを追加(npm/pypi)(#15024)📦 v12.6.0 · 変更 - 2026-09-24 —
pnpm addが Package URL(purl)に対応(#14949)📦 v12.6.0 · 変更