簡體   English   中英

npm install express 失敗。 ENETUNREACH 錯誤

[英]npm install express fails. ENETUNREACH Error

我一直在嘗試在樹莓派上安裝 express 幾個小時了。 不太確定是什么問題。

pi@raspberrypi:~ $ npm -v
8.1.0

pi@raspberrypi:~ $ node -v
v17.0.1

pi@raspberrypi:~/Project-Folder $ npm install

up to date, audited 1 package in 803ms

found 0 vulnerabilities

npm install 工作正常,但是當我嘗試訪問注冊表時它失敗了。

pi@raspberrypi:~/Project-Folder $ npm install -g express
npm ERR! code ENETUNREACH
npm ERR! syscall connect
npm ERR! errno ENETUNREACH
npm ERR! request to http://registry.npmjs.com/express failed, reason: connect ENETUNREACH 0000:0000::0000:0000:80

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2021-10-26T17_22_03_292Z-debug.log

它實際上沒有那個 ip 地址,我只是不想泄露任何東西。

我已經做了下面的一切。

npm config set registry https://registry.npmjs.org/ - 失敗

npm config set registry https://registry.npmjs.com/ - 失敗

npm config set registry http://registry.npmjs.org/ - 失敗

npm config set registry http://registry.npmjs.com/ - 失敗

npm cache clean - 失敗

nslookup 返回以下內容

pi@raspberrypi:~ $ nslookup registry.npmjs.org
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   registry.npmjs.org
Address: 104.16.24.35
Name:   registry.npmjs.org
Address: 104.16.26.35
Name:   registry.npmjs.org
Address: 104.16.19.35
Name:   registry.npmjs.org
Address: 104.16.25.35
Name:   registry.npmjs.org
Address: 104.16.20.35
Name:   registry.npmjs.org
Address: 104.16.23.35
Name:   registry.npmjs.org
Address: 104.16.18.35
Name:   registry.npmjs.org
Address: 104.16.27.35
Name:   registry.npmjs.org
Address: 104.16.21.35
Name:   registry.npmjs.org
Address: 104.16.16.35
Name:   registry.npmjs.org
Address: 104.16.22.35
Name:   registry.npmjs.org
Address: 104.16.17.35
Name:   registry.npmjs.org
Address: 2606:4700::6810:1923
Name:   registry.npmjs.org
Address: 2606:4700::6810:1823
Name:   registry.npmjs.org
Address: 2606:4700::6810:1123
Name:   registry.npmjs.org
Address: 2606:4700::6810:1623
Name:   registry.npmjs.org
Address: 2606:4700::6810:1023
Name:   registry.npmjs.org
Address: 2606:4700::6810:1723
Name:   registry.npmjs.org
Address: 2606:4700::6810:1423
Name:   registry.npmjs.org
Address: 2606:4700::6810:1223
Name:   registry.npmjs.org
Address: 2606:4700::6810:1b23
Name:   registry.npmjs.org
Address: 2606:4700::6810:1523
Name:   registry.npmjs.org
Address: 2606:4700::6810:1323
Name:   registry.npmjs.org
Address: 2606:4700::6810:1a23

我環顧四周,似乎每個人都通過更改注冊表來解決問題。 那對我不起作用。

這不是網絡問題。 以下來自 MacBook Pro 同一網絡。

username Project-Folder % npm install -g express

added 50 packages, and audited 51 packages in 2s

found 0 vulnerabilities

感謝您提供的任何幫助。

問題最終是我的本地網絡不支持 IPv6,所以我只需要在我的樹莓派上禁用它,問題就解決了。

檢查是否啟用了 IPv6。

使用ifconfig

如果它包含inet6則啟用 IPv6

禁用

sudo nano /etc/sysctl.conf

將此添加到最后:

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.ipv6.conf.eth0.disable_ipv6 = 1

sudo nano /etc/rc.local

將此添加到最后(但在“exit 0”之前):

service procps reload

重啟樹莓派

sudo reboot

使用ifconfig並查找inet6如果它沒有出現則 IPv6 被禁用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM