我尝试在树莓派上安装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 vulnerabilitiesnpm 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专业版的相同网络。
username Project-Folder % npm install -g express
added 50 packages, and audited 51 packages in 2s
found 0 vulnerabilities感谢您所能提供的任何帮助。
发布于 2021-10-26 23:53:08
问题最终是我的本地网络不支持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 = 1sudo nano /etc/rc.local
将此代码添加到末尾(但在“exit 0”之前):
service procps reload
重新启动Pi
sudo reboot
使用ifconfig并查找inet6如果它没有出现,则IPv6被禁用
https://stackoverflow.com/questions/69727638
复制相似问题