npm 11.6.4 のパッケージ取得では、宛先名をプロキシに解決させる場合は socks5h を、ローカルで解決する場合は socks5 を使います。このリリースに同梱された socks-proxy-agent がこの違いを生み出しています。

既存の SOCKS5 エンドポイントをユーザー設定に保存します。

npm config set proxy socks5h://127.0.0.1:1080 --location=user
npm config set https-proxy socks5h://127.0.0.1:1080 --location=user

プロキシ認証を使わずに許可された公開レジストリからのダウンロードを行う場合、SOCKS5 プロキシ一覧の項目で、両方の URL にある例示用のローカルリスナーを置き換えられます。二つの宛先設定は同じエンドポイントを指していてもかまいません。プロキシ側での解決は、対象の名前がそのネットワークの DNS ビューにしか存在しない場合に役立ちます。

サポートされる経路は npm-registry-fetch から make-fetch-happen を経て @npmcli/agent に至り、そこで SocksProxyAgent が選択されます。このパッケージ取得の経路に HTTP から SOCKS へのアダプターは不要です。

導入する前に、コマンドや IDE がどの npm を実行しているかを確認してください。古いリリースは別の取得実装を使っていました。11.6.4 でのサポートは、それ以前のあらゆるバージョンの動作を証明するものではありません。

関連記事