テクノロジー · 実用ガイド
npm の EINTEGRITY?リセット前に期待値と受信 tarball を追跡する
不一致は lockfile、ローカルキャッシュ、プライベート registry やプロキシ、変更されたメタデータのどこでも起こり得ます。証拠を保存し、失敗した境界だけを修復します。

EINTEGRITY は、受信したパッケージのダイジェストが npm の期待値と一致しないという証拠です。lockfile の削除や TLS 検証の無効化を指示するエラーではありません。
失敗パッケージ、wanted/got、バイト数、resolved、integrity、registry、npm 版、隔離キャッシュの結果を一つの台帳にします。
不一致を由来記録として保存する
パッケージ、版、wanted/got、バイト数、npm/Node、コマンド、環境、debug log を記録します。registry と cache を確認しますが token は公開しません。
package-lock.json の resolved と integrity を保存します。受信側を試験する間、期待値である lockfile は変更しません。
消去前にローカルキャッシュを検証する
npm cache verify と npm doctor cache を実行します。内容アドレスと自動再取得の結果で診断を分けます。
新しい空キャッシュで同じインストールを再現します。成功すれば旧キャッシュを隔離し、同じ got なら別の境界を調べます。
直接経路と設定済み registry を比較する
resolved URL と設定から npmjs、プライベート registry、Verdaccio、Azure Artifacts、他のプロキシを特定します。strict SSL を無効にしません。
承認済みの直接経路とプロキシから同一パッケージを取得し、SHA-512、バイト数、redirect、content type を比較します。
lockfile、キャッシュ、registry の変化を分類する
隔離キャッシュが一致すれば旧キャッシュかローカル FS、直接経路だけ一致すればプロキシ境界です。ログを保存して一つの artifact だけを失効させます。
どの承認済み経路も一致しないなら再公開、誤ったミラー、有意な変更を調査し、レビュー後にだけ lockfile を再生成します。
再現可能な CI 証拠で終了する
同じ lockfile と registry で再試行し、終了コード、cache、最終 digest、lockfile の不変を確認します。
CI の cache key に lockfile hash と registry を反映し、最初の失敗 log を保存します。
