我正在Windows(Ubuntu 18)上运行bash,最近我切换到了Yarn,但是我需要再次使用npm来安装松露,并且发现我的npm已死。我尝试重新安装node / npm,甚至重新安装Ubuntu本身,但一直出现此错误。

下面是错误日志。我现在完全迷路了...

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install' ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 6f42a40556042ae5
5 silly install runPreinstallTopLevelLifecycles
6 silly preinstall [email protected]
7 info lifecycle [email protected]~preinstall: [email protected]
8 silly install loadCurrentTree
9 silly install readLocalPackageData
10 silly install loadIdealTree
11 silly install cloneCurrentTreeToIdealTree
12 silly install loadShrinkwrap
13 silly install loadAllDepsIntoIdealTree
14 silly fetchPackageMetaData error for truffle@^4.1.14 request to https://registry.npmjs.org/truffle failed, reason: Hostname/IP$15 silly fetchPackageMetaData error for truffle@^4.1.14 request to https://registry.npmjs.org/truffle failed, reason: Hostname/IP$16 silly saveTree [email protected]
17 verbose type system
18 verbose stack FetchError: request to https://registry.npmjs.org/truffle failed, reason: Hostname/IP doesn't match certificate'$18 verbose stack     at ClientRequest.req.on.err (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/no$18 verbose stack     at emitOne (events.js:116:13)
18 verbose stack     at ClientRequest.emit (events.js:211:7)
18 verbose stack     at TLSSocket.socketErrorListener (_http_client.js:387:9)
18 verbose stack     at emitOne (events.js:116:13)
18 verbose stack     at TLSSocket.emit (events.js:211:7)
18 verbose stack     at emitErrorNT (internal/streams/destroy.js:64:8)
18 verbose stack     at _combinedTickCallback (internal/process/next_tick.js:138:11)
18 verbose stack     at process._tickCallback (internal/process/next_tick.js:180:9)
19 verbose cwd /mnt/c/Users/user06/Documents/bootcamp/capstone/truffle_test
20 verbose Linux 4.4.0-17134-Microsoft
21 verbose argv "/usr/bin/node" "/usr/bin/npm" "install"
22 verbose node v8.11.4
23 verbose npm  v5.6.0
24 error request to https://registry.npmjs.org/truffle failed, reason: Hostname/IP doesn't match certificate's altnames: "Host: r$25 verbose exit [ 1, true ]

最佳答案

较早的一次涉及DNS错误配置的中断已导致一些ISP将npmjs.com缓存为丢失,一种解决方法是使用第三方DNS提供程序,例如Cloudflare或Google,受影响的缓存应在接下来的24小时内清除。


https://status.npmjs.org/incidents/v22ffls5cd6h

09-12 07:13