I'm running bash on windows (Ubuntu 18) and I recently switched to Yarn, but I needed to use npm again to install truffle and discovered my npm is dead. I tried reinstalling node/npm, even reinstalling Ubuntu itself, but kept getting this same error.
Below is the error log. I'm totally lost now...
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install' ]
2 info using npm@5.6.0
3 info using node@v8.11.4
4 verbose npm-session 6f42a40556042ae5
5 silly install runPreinstallTopLevelLifecycles
6 silly preinstall inbox@1.0.0
7 info lifecycle inbox@1.0.0~preinstall: inbox@1.0.0
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 inbox@1.0.0
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 ]