我有一个npm的问题,我不能安装任何东西。以下是错误信息:

C:\Windows\system32>npm install -g yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm ERR! network read ECONNRESET
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "yo"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.17
npm ERR! npm -v 1.3.8
npm ERR! syscall read
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

知道为什么吗?这是我的网络设置,似乎我没有配置任何代理。我还关闭了所有的防火墙。


当前回答

我找到了一个简单的解决办法。如果你使用的是Windows 10,那么进入网络设置并关闭自动代理检测。它解决了我的问题。过去两天我一直在找这个。

其他回答

如果你使用的是Windows,你应该继续执行高级系统设置来检查那里声明的env变量,你应该注意到代理配置可能位于环境变量中,如下图所示:

因此,如果你的代理服务器不可用或阻塞了来自npm的流量,你可能会注意到前面提到的错误。也许你根本不需要任何代理,在这种情况下,只需要删除HTTP_PROXY env变量。

我已经在我的Windows和npm设置中关闭了所有的代理配置,然而,npm在下载资源时仍然会得到超时和连接错误,然后我发现仍然有一个代理配置留在env变量上,这导致了所有的麻烦。

当我试图在Oracle VirtualBox中模拟的系统上运行npm时,我也遇到了同样的问题。我通过在网络适配器属性中添加谷歌DNS地址来解决它。

网卡属性> IPv4属性>首选DNS地址:8.8.8.8。

你可能想要检查你的NPM代理设置并删除它。

npm config get proxy
npm config rm proxy
npm config rm https-proxy

人们可能会期望一个新的NodeJS+NPM安装不会配置代理。奇怪的是,我的服务器确实定义了一个代理,指向一个IP和端口3128。删除代理起到了作用。

我有npm抛出这个错误的问题。

所以基本上每当抛出错误时,我要么使用手动安装 从git或等待并安装指定的版本,如:

npm install resolve@^1.1.6

独自跑步时:

npm install resolve

没有工作。

我把node.js从7更新到8,npm的安装很顺利。

我认为可能是7版本导致了这个问题,因为@luschn降级到6,所以他没有使用7。

也许注册表本身返回错误而没有在其状态页面上显示问题,因为一段时间后,我可以安装这个破坏包,然后继续使用npm install安装其余的包。

NPM配置rm代理

NPM配置rm http -proxy

对我有用!