Node.jsで「npm install」エラー発生!「unable to get local issuer certificate」の原因と解決策を徹底解説
"npm install error - unable to get local issuer certificate" は、Node.js パッケージマネージャーである npm でパッケージをインストールしようとすると発生するエラーメッセージです。このエラーは、npm が SSL/TLS 証明書を検証できないことを示しています。SSL/TLS 証明書は、ウェブサイトやサーバーのアイデンティティを確認するために使用されるデジタル証明書です。
原因
このエラーには、いくつか考えられる原因があります。
- npm の設定: npm の設定が誤っている可能性があります。
- 古いパッケージ: npm または Node.js が古すぎる可能性があります。
- 証明書の問題: システムの証明書ストアに問題がある可能性があります。
- ファイアウォールまたはプロキシ: ファイアウォールまたはプロキシが npm の通信を妨害している可能性があります。
解決策
このエラーを解決するには、以下の手順を試してください。
npm の設定を確認する
npm config list
このコマンドを実行して、現在の npm 設定を確認します。strict-ssl
という設定に注目してください。この設定が true
になっている場合、npm はすべての SSL/TLS 証明書を厳密に検証します。これが原因でエラーが発生している可能性があるため、この設定を false
に変更してみてください。
npm config set strict-ssl false
npm と Node.js を更新する
npm install -g npm
このコマンドを実行して、npm を最新バージョンに更新します。その後、以下のコマンドを実行して Node.js を最新バージョンに更新します。
node -v
コマンドの出力が古いバージョンである場合は、Node.js のウェブサイトから最新バージョンをダウンロードしてインストールする必要があります。
システムの証明書ストアが古いか破損している場合は、更新する必要があります。更新方法は、オペレーティングシステムによって異なります。
ファイアウォールまたはプロキシが npm の通信を妨害している可能性があります。ファイアウォールまたはプロキシの設定を確認して、npm が必要なポートにアクセスできるようにしてください。
CA 証明書を手動で追加する
問題が解決しない場合は、CA 証明書を手動で npm に追加する必要がある場合があります。CA 証明書は、証明書発行機関 (CA) によって発行される証明書であり、他の証明書の信頼性を保証するために使用されます。CA 証明書を取得するには、CA のウェブサイトにアクセスする必要があります。CA 証明書を取得したら、以下のコマンドを実行して npm に追加します。
NODE_EXTRA_CA_CERTS=/path/to/ca.pem npm install
注意事項
NODE_EXTRA_CA_CERTS
環境変数は一時的な解決策としてのみ使用してください。恒久的な解決策としては、システムの証明書ストアを更新することをお勧めします。- CA 証明書を手動で追加する場合は、信頼できるソースからのみ取得するようにしてください。
上記の手順で問題が解決しない場合は、さらに調査する必要があります。npm のログファイルを確認したり、npm コミュニティフォーラムで助けを求めたりすることができます。
# npm の設定を確認する
npm config list
# npm と Node.js を更新する
npm install -g npm
node -v
# システムの証明書ストアを更新する
# (オペレーティングシステムによって方法が異なる)
# ファイアウォールまたはプロキシの設定を確認する
# (ファイアウォールまたはプロキシの設定を確認して、npm が必要なポートにアクセスできるようにする)
# CA 証明書を手動で追加する
NODE_EXTRA_CA_CERTS=/path/to/ca.pem npm install
"npm install error - unable to get local issuer certificate" の解決策:代替方法
yarn を使用する
yarn は、npm に似たパッケージマネージャーですが、独自の証明書ストアを持っています。そのため、npm で問題が発生している場合でも、yarn でパッケージをインストールできる可能性があります。
yarn install
npx を使用する
npx は、Node.js に付属するパッケージ実行ツールです。npx を使用すると、グローバルにインストールされていないパッケージを個別に実行できます。以下のコマンドを実行して、npx を使用してパッケージをインストールできます。
npx install <package-name>
手動でパッケージをダウンロードしてインストールする
- ダウンロードするパッケージの URL を見つけます。これは、通常、パッケージの GitHub リポジトリにあります。
- URL を使用して、パッケージの .tgz ファイルをダウンロードします。
- 以下のコマンドを実行して、ダウンロードしたファイルを解凍します。
tar -xzvf <package-name>.tgz
- 解凍したディレクトリに移動します。
- 以下のコマンドを実行して、パッケージをインストールします。
npm install
- この方法を使用すると、パッケージが最新バージョンでない可能性があります。
上記の方法で問題が解決しない場合は、npm の公式ドキュメントまたはコミュニティフォーラムでさらに情報を探すことをお勧めします。
node.js ssl npm