反応アプリケーションを作成するすべての方法を試しています。私は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>
インターネット検索の簡単な解決策はnpm config set strict-ssl false
でしたが、幸運にも機能しました。しかし、作業環境の一部として、strict-sslフラグをfalseに設定することに制限されています。
その後、安全で実用的なソリューションを見つけました。
npm config set registry http://registry.npmjs.org/
これは完全に機能し、strict-sslフラグをfalseに設定しないことで成功メッセージHappy Hacking!
を受け取りました。
おそらくあなたの仕事は特定のトラフィックを復号化し、証明書で再暗号化します(おそらくあなたはすでにキーチェーンまたは信頼されたルート証明書に持っています)
ノード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に対してチェックを使用するように指示しますが、この証明書に遭遇した場合も許可します
システムの信頼できる証明書を使用できるのが理想ですが、残念ながらそうではありません。
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
を追加します
これで問題は解決しました。
同じエラーがありました。 SSL証明書に関連しているようです。パブリックパッケージにNPMを使用している場合(HTTPSのセキュリティは必要ありません)、次のコマンドで厳密なSSLキー検証をオフにできます。
これは、公開されているいくつかのパッケージを一度にインストールする場合に最も簡単な修正方法です。
npm config set strict-ssl=false
以下のコードはここで完璧に機能しました
npm config set registry http://registry.npmjs.org/
私を信じて、これはあなたのために働くでしょう:
npm config set registry http://registry.npmjs.org/