インストールスクリプトのダウンロード時における npm プロキシの失敗
npm パッケージはインストール中に別のダウンロードを実行することがあります。すべてのリクエストが npm レジストリのプロキシ設定を使うと決めつけず、そのプログラムとホストを特定してください。
npm のインストールがレジストリのダウンロードを通過し、インストールスクリプトで停止する場合は、2 つ目のダウンローダーを特定してください。JavaScript パッケージは既に存在していても、プラットフォーム固有のバイナリがまだ欠けていることがあります。
- ログでリクエストの実行者を見つけます。 ライフサイクルスクリプト、実行ファイルまたは HTTP ライブラリ、宛先ホスト名、最初のエラーを記録します。パッケージは、npm レジストリの転送とは別にダウンロードする別のプログラムを起動できます。
- そのダウンローダーが対応するプロキシインターフェースを使います。tfjs-node の resources.js 経路では、子プロセスのプロキシ環境が具体的な例の 1 つです。 パッケージの文書化されたダウンロード設定と、リクエストを行うプロセスの環境を確認します。標準のプロキシ変数は、その利用側が読む場合にのみ役立ちます。似た名前の変数を追加しても対応は証明されません。
- 実際の成果物の経路をたどります。 リリースサーバー、オブジェクトストア、リダイレクト先はレジストリと異なる場合があります。失敗したリクエストについて、プロキシ認証、承認済みの宛先、TLS の信頼を比較します。
キャッシュを消す前にこれを行ってください。ログにおけるパッケージ取得からライフサイクル実行への移行は、すでに障害を絞り込んでいます。レジストリへのアクセス成功は有用な比較証拠ですが、2 次プログラムが同じ経路に対応していることや、その成果物ホストに到達できることは証明しません。
インストールスクリプトを無効にするとダウンロードを飛ばし、パッケージが使えなくなることがあります。パッケージが承認済みのビルド済みまたはオフラインのインストール経路を文書化している場合は、その成果物を意図的に用意し、インストール完了とみなす前に実行ファイルが利用可能であることを確認してください。