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


159

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!     <npm-@googlegroups.com>

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

整理するのを手伝って

回答:


316

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

npm config set strict-ssl false

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

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

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


13
やや安全ではありませんが、現実的な解決策です。
Bernard Saucier

1
上記のコマンドを使用した後、バイパスオプションを削除することは可能ですか?はいの場合、バイパスオプションを削除するにはどうすればよいですか?
rash111

1
@ rash111私はそれをtrueに設定するとうまくいくはずだと思います:npm config set strict-ssl true
Gromer

10
「素敵な現実世界の解決策」...ハッキングされるのが好きでない限り、これはまったく良くありません。
trusktr 2018

ありがとう!これは、Ubuntu 14.04を実行するVirtualBox VMでnpmを使用する場合にも必要です。これはCERTエラーを修正する唯一の方法であり、レジストリが"http://registry.npmjs.org/"デフォルトに設定されている場合でも発生します。
Prahlad Yeri

53
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32

node.jsインストールを更新します。次のコマンドでそれを実行する必要があります(ここから):

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

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


3
私は現在、上記の2つのバージョンを使用していますが、あなたのポイントは何
ですか?

1
私のポイントは、次のとおりです。これらのバージョンは古く、それらに組み込まれているnpm証明書はすべて期限切れです。最新バージョンをインストールすれば動作します。
アレックス、2014

1
最新バージョンをインストールしようとしたところ、インストール中に問題が発生しました。SOの誰かが私に上記のバージョンをインストールするように提案しました、それは正しくインストールされましたが、現在npmは機能していません。私はあなたが私の前の質問へのリンクを与えているstackoverflow.com/questions/21850871/...
Sudip7

24
私が実行していることが判明しsudo npm cache clean -f、その後はsudo npm install -g n2番目のコマンドの後にCERT_UNTRUSTEDエラーが発生します。
fuzzi

2
参照リンクによると、「このノードのアップグレード方法は現在不安定であり、使用すべきではありません。Node.jsバージョンを管理する最良の方法は、NVMを使用することです:ノードバージョン管理。!」
chus

22

同じ問題があり、最後にノードのバージョンが古いことを理解しました。たとえば、次の手順で、現在アクティブな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


Ubuntu 14で
作業

9

上記のエラーの理由がわかったと思います。これは、クライアントネットワークで動作するために提供される企業プロキシ(仮想プライベートネットワーク)です。その接続がなければ、Mavenビルドでもnpmインストールでも同じ問題に頻繁に直面しました。


5

会社のプロキシを使用している場合は、会社のプロキシでnpmの次の設定を試してください。

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

3
大規模な組織で働いている場合、インターネットとの間にプロキシサーバーを設置するのが一般的です。時々それはこの問題を引き起こします。(私にとってはそうでした)このための1つの可能なテストは、コンピューターをネットワークから切り離し、npm install expressを自宅からインストールすることです。
Michael Oakley

2

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

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やパッケージロックに書き込むことはありません。インストールは基本的にフリーズされています。

1

ノードを再インストールしてから、npmを更新します。

最初にノードを削除しました

apt-get purge node

次に、ディストリビューションに従ってノードをインストールします。ドキュメントはこちら

その後

npm install npm@latest -g
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.