SQLサーバー用のnodejs用のMicrosoftドライバーをビルドしようとすると、以下のエラーが発生しました
okで終わる場合は動作したgyp情報
[email protected]を使用したgyp情報
[email protected]を使用したgyp情報| win32 | x64
gyp http GET https://nodejs.org/download/release/v5.3.0/node-v5.3.0-headers.tar.gz
gyp WARNインストールでエラーが発生し、インストールをロールバックしました
gyp ERR!構成エラー
gyp ERR!スタックエラー:証明書チェーン内の自己署名証明書
gyp ERR!エラー時のスタック(ネイティブ)
gyp ERR! TLSSocketでスタックします。 (_tls_wrap.js:1057:38)
gyp ERR! EmmitNoneでスタック(events.js:67:13)
gyp ERR! TLSSocket.emitでスタック(events.js:166:7)
gyp ERR! TLSSocket._fini
enter code here
shInitでスタックgyp ERR!よくない "
私は以下の回避策で試しましたが、それはうまくいきません
1) upgrade your version of npm
npm install npm -g --ca=null
- or -
2) tell your current version of npm to use known registrars
npm config set ca=""
誰かがこの証明書の問題を解決する方法を教えてもらえますか
残念ながら、node-gypはnpmの証明書設定を利用していません。
Node-gypを呼び出している場合は、最新のnode-gypに更新してから、新しい--cafile
パラメーターを使用して、有効なCA証明書を提供すると思われます。
Npmを使用してnode-gypでビルドするパッケージをインストールする場合、唯一の手段は、CA証明書の問題を無視するように事前にNODE_TLS_REJECT_UNAUTHORIZED=0
環境変数を設定するハックです。
ここでgithubに関する議論を参照してください: https://github.com/nodejs/node-gyp/issues/695
私にとって、gyprebuildはbinding.gypを見つけることができず、それをダウンロードしようとしていました。実行してみてください:Sudo npm install -g --unsafe-perm binding
次のコマンドを使用してHTTPS要求を実行するときに使用する証明書ファイルを設定します。
npm config set cafile /path/to/your/cert.pem --global
node-gyp
がnode.js
アドオンソースのコンパイルを開始したときに同じ問題が発生しました。そして、@ mujimが提案したように、次のように、NODE_TLS_REJECT_UNAUTHORIZED
を実行する前にシェル変数0
値をnpm install
に設定するように修正しました。
$ set NODE_TLS_REJECT_UNAUTHORIZED=0
$ npm install
中古 npm config set strict-ssl false
そしてそれは問題を修正しました。