我有一个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

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


当前回答

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

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

npm install resolve@^1.1.6

独自跑步时:

npm install resolve

没有工作。

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

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

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

其他回答

这可能是由于使用sudo在npm中安装任何东西引起的——这会导致缓存中的文件由root拥有,从而导致这个问题。你可以通过运行:

Sudo rm -rf ~/.npm

删除缓存。然后再试一遍你正在做的任何事情,确保你从来没有在使用npm时同时使用sudo(否则问题可能会再次出现)。

更多信息:npm抛出错误没有sudo

如果保存的不记名令牌现在无效,也可能遇到此错误。我在使用私人回购时遇到过这种情况,其中帐户被擦除和重置,令牌无效。虽然你的回购可能不需要身份验证,如果你有一个令牌从以前的登录,它将被通过,如果它是无效的连接将被关闭。

您可以通过使用新的用户名和密码再次登录来解决这个问题,或者简单地通过npm注销。

NPM配置设置http -proxy“http://username:password@proxy-url:proxy-port”对我有用

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

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

npm install resolve@^1.1.6

独自跑步时:

npm install resolve

没有工作。

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

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

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

我最近安装了Fiddler,它(我不知道)通过127.0.0.1:8866添加了一个网络代理。我进入我的Ubuntu网络设置,点击进入“网络代理”设置,并禁用它,然后一切恢复正常。

所以一般来说,检查确保你没有因为你正在做的其他事情的副作用而设置网络代理。