web-dev-qa-db-ja.com

npm ERR!コードUNABLE_TO_GET_ISSUER_CERT_LOCALLY

反応アプリケーションを作成するすべての方法を試しています。私はmavenを試しましたが、今はFacebook Incubatorsのcrate-react-appビルドシステムを試しています。

コマンドcreate-react-app my-appをnpm環境で実行しようとしたときに、個人用システムで問題なく機能しました。しかし、作業環境で同じコマンドを試したときに、コマンドプロンプトでこのエラーが発生しました

npm ERR! node v6.10.2
npm ERR! npm  v3.10.10
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY

npm ERR! unable to get local issuer certificate
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>
62
Dinesh

インターネット検索の簡単な解決策はnpm config set strict-ssl falseでしたが、幸運にも機能しました。しかし、作業環境の一部として、strict-sslフラグをfalseに設定することに制限されています。

その後、安全で実用的なソリューションを見つけました。

npm config set registry http://registry.npmjs.org/  

これは完全に機能し、strict-sslフラグをfalseに設定しないことで成功メッセージHappy Hacking!を受け取りました。

180
Dinesh

おそらくあなたの仕事は特定のトラフィックを復号化し、証明書で再暗号化します(おそらくあなたはすでにキーチェーンまたは信頼されたルート証明書に持っています)

ノード7以降を使用している場合、この修正はノードとnode-gypと互換性があることがわかりました(Windowsの場合はこれを異なる方法で行う必要がありますが、基本的にはこの環境変数を追加するだけです):

export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"

pemファイルには複数の証明書を含めることができます: https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file

証明書が適切なpem形式であることを確認します(リテラル\nではなく、実際の改行が必要です)

.または~パスで動作するように思えなかった

この修正は、基本的にnpmとnode-gypに通常のCAに対してチェックを使用するように指示しますが、この証明書に遭遇した場合も許可します

システムの信頼できる証明書を使用できるのが理想ですが、残念ながらそうではありません。

9
Jordan

NPMリポジトリのURLをHTTPに変更することは簡単な修正として機能しますが、HTTPSを使用したかったのです。

私の場合、雇用主のプロキシ(ZScaler)が問題を引き起こしていました(MITMとして機能し、認証検証の問題を引き起こしているため)

私は忘れていました スクリプトを見つけました これとGitに役立ちます(HTTPSを介したGitHubリポジトリのクローン作成にも同じ問題がありました)そして 私の使用のためにフォークしました

基本的に、gitに対して以下を実行します。

git config --global http.proxy http://gateway.zscaler.net:80/
git config --system http.proxy http://gateway.zscaler.net:80/

nodeの場合、proxy=http://gateway.zscaler.net:80/の最後にc:\Users\$USERNAME\npm\.npmrcを追加します

これで問題は解決しました。

4
Robert Dundon

同じエラーがありました。 SSL証明書に関連しているようです。パブリックパッケージにNPMを使用している場合(HTTPSのセキュリティは必要ありません)、次のコマンドで厳密なSSLキー検証をオフにできます。

これは、公開されているいくつかのパッケージを一度にインストールする場合に最も簡単な修正方法です。

npm config set strict-ssl=false
3
Jason Geiger

以下のコードはここで完璧に機能しました

npm config set registry http://registry.npmjs.org/  
2
Mohd Shariq

私を信じて、これはあなたのために働くでしょう:

    npm config set registry http://registry.npmjs.org/  
1