web-dev-qa-db-ja.com

SSLエラー:npmコマンドの使用中にCERT_UNTRUSTED

Npmコマンドを使用してエクスプレスフレームワークをインストールしようとしていますが、次のエラーが発生します。

エラーメッセージは

E:\myFindings\nodejs_programs\node>npm install -g express
npm http GET https://registry.npmjs.org/express
npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR!     at ClientRequest.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:409:26)
npm ERR!     at ClientRequest.g (events.js:185:14)
npm ERR!     at ClientRequest.EventEmitter.emit (events.js:88:17)
npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1445:7)
npm ERR!     at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23)
npm ERR!     at CleartextStream.socketOnData [as ondata] (http.js:1356:20)
npm ERR!     at CleartextStream.CryptoStream._Push (tls.js:396:27)
npm ERR!     at SecurePair.cycle (tls.js:751:20)
npm ERR!     at EncryptedStream.CryptoStream.write (tls.js:131:13)
npm ERR!     at Socket.ondata (stream.js:38:26)
npm ERR!  [Error: SSL Error: CERT_UNTRUSTED]
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "express"
npm ERR! cwd E:\myFindings\nodejs_programs\node
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32
npm ERR! message SSL Error: CERT_UNTRUSTED
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     E:\myFindings\nodejs_programs\node\npm-debug.log
npm ERR! not ok code 0

整理するのに役立ちます

127
Sudip7

私は上記のエラーの理由を得たと思います。クライアントネットワークで動作するために提供される企業プロキシ(仮想プライベートネットワーク)です。その接続がないと、maven buildまたはnpm installであっても同じ問題に頻繁に直面しました。

9
Sudip7

以下のコマンドを使用してhttpsをバイパスできます。

npm config set strict-ssl false

または、以下のようにhttpsまたはhttpからレジストリURLを設定します。

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

ただし、個人的には、httpsをバイパスすることは本当の解決策ではないと考えていますが、回避策として使用できます。

257
ramesh.mimit
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32

Node.jsのインストールを更新します。次のコマンドで実行できます( here から):

Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable

編集:さて、あなたが実際にソフトウェアの古代バージョンを実行する正当な理由がある場合、npm set ca nullは問題を修正します。これは、組み込みのnpm証明書が長年にわたって期限切れになったために起こりました。

42
alex

私は同じ問題を抱えていて、最終的にノードのバージョンが古いことを理解しました。たとえば、次の手順で現在のアクティブなLTSノードバージョンをUbuntuにインストールできます。

Sudo apt-get update
curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash -
Sudo apt-get install nodejs -y

より多くのバージョンとシステムのインストール手順は、次のリンクにあります。

https://github.com/nodesource/distributions/blob/master/README.md

15
majran

企業のプロキシの背後にいる場合は、企業のプロキシでnpmにこの設定を試してください。

npm --https-proxy=http://proxy.company.com install express -g
5
Michael Oakley

私はグーグル経由で投稿につまずいたので:

npm ciを使用してみてください。これはnpm installよりもはるかに多くなります。

マニュアルから:

要するに、npm installとnpm ciの使用の主な違いは次のとおりです。

  • プロジェクトには、既存のpackage-lock.jsonまたはnpm-shrinkwrap.jsonが必要です。
  • パッケージロックの依存関係がpackage.jsonの依存関係と一致しない場合、npm ciはパッケージロックを更新する代わりにエラーで終了します。
  • npm ciは一度にプロジェクト全体のみをインストールできます。このコマンドでは個々の依存関係を追加できません。
  • Node_modulesが既に存在する場合、npm ciがインストールを開始する前に自動的に削除されます。
  • Package.jsonやパッケージロックのいずれにも書き込まれません。インストールは基本的に凍結されます。
2
HerrWalter