npm install証明書エラー解決
npm installエラー - unable to get local issuer certificate
日本語訳
npm installを実行するときに発生するエラー、「unable to get local issuer certificate」について説明します。このエラーは、Node.jsのプロジェクトでnpmパッケージをインストールする際、SSL証明書に関する問題が発生していることを示しています。
原因
- ネットワーク接続の問題
ネットワーク接続が不安定だったり、ファイアウォールがSSL通信をブロックしている場合にも、このエラーが発生することがあります。 - SSL証明書が信頼されていない
使用しているコンピュータのSSL証明書ストアに、インストールしようとしているパッケージの発行元証明書が含まれていない場合、このエラーが発生します。
解決方法
- SSL証明書を更新
- Windows
- 必要に応じて、新しい証明書をインストールします。
- macOS
- キーチェーンアクセス アプリケーションを開き、システムのルート証明機関を確認します。
- Windows
- ネットワーク接続を確認
- ネットワーク接続が安定していることを確認します。
- ファイアウォールやプロキシの設定を確認し、SSL通信が許可されていることを確認します。
- npmの設定を確認
- npmの設定ファイル(
npmrc
)を確認し、SSL関連の設定が正しく設定されていることを確認します。 - 例えば、
strict-ssl=false
を設定することで、SSL証明書の検証をスキップすることができます。ただし、セキュリティリスクがあるため、慎重に使用してください。
- npmの設定ファイル(
例
npm install <パッケージ名>
上記のコマンドを実行すると、以下のようなエラーメッセージが表示されることがあります。
npm ERR! network request failed at http://registry.npmjs.org/<パッケージ名>
npm ERR! reason: unable to get local issuer certificate
SSL証明書を更新
npmの設定を確認
# npmrcファイルに以下を追加
strict-ssl=false
npmのキャッシュをクリア
- npmのキャッシュをクリアすることで、古い証明書の情報が削除されます。
npm cache clean --force
プロキシ設定を確認
- プロキシの設定を指定するには、
npm config set proxy <プロキシURL>
コマンドを使用します。 - プロキシを使用している場合は、プロキシの設定が正しいことを確認します。
npm config set proxy http://<プロキシサーバー>:<ポート>
HTTPプロトコルを使用する
- ただし、HTTPプロトコルはセキュリティリスクがあるため、慎重に使用してください。
- npmはデフォルトでHTTPSプロトコルを使用しますが、HTTPプロトコルを使用することでSSL証明書の問題を回避することができます。
npm config set registry http://registry.npmjs.org/
npmのミラーリポジトリを使用する
- いくつかのミラーリポジトリが提供されています。例えば、Vercelのミラーリポジトリを使用することができます。
- npmのミラーリポジトリを使用することで、ネットワーク接続の問題やSSL証明書の問題を回避することができます。
npm config set registry https://registry.npmjs.vercel.app/
yarnを使用する
- yarnをインストールし、yarnを使用してパッケージをインストールします。
- yarnはnpmの代替パッケージマネージャーであり、SSL証明書の問題を回避することができます。
npm install -g yarn
yarn install <パッケージ名>
pnpmを使用する
npm install -g pnpm
pnpm install <パッケージ名>
node.js ssl npm