npm不起作用-“读取ECONNRESET”

我在使用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

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

在此处输入图片说明

猿泡芙2020/03/24 17:01:09

请用这个

npm配置设置注册表http://registry.npmjs.org/

小小2020/03/24 17:01:09

npm config set https-proxy“ http:// username:password @ proxy-url:proxy-port ”对我有用

西门西门2020/03/24 17:01:09

以防万一...再多花点时间为我工作。可能只是暂时的连接问题。

番长2020/03/24 17:01:09

重新启动我的电脑使其正常工作。

Tony凯2020/03/24 17:01:09

如果您使用的是Windows,则应遵循“高级系统设置”来检查在那里声明的env var,您应注意,代理配置可能位于环境变量中,如下图所示:

Windows环境变量

因此,如果您的代理服务器不可用或阻止来自npm的流量,您可能会注意到本主题中的上述错误。也许您根本不需要任何代理,在这种情况下,只需删除此HTTP_PROXY env变量即可。

我已经在Windows和npm设置中关闭了所有代理配置,但是,npm在下载资源时仍然出现超时和连接错误,然后我发现env变量上还剩下一个代理配置,这引起了所有麻烦。

飞云2020/03/24 17:01:09

我发现“ npm config edit”对于更新https-proxy,proxy,registry的条目更有用

我做了这样的事情

  • npm配置列表
  • npm config编辑(在vi中打开)
  • 编辑或设置https代理,代理,注册表的配置条目
  • npm安装
小胖Gil2020/03/24 17:01:09

我们公司的防火墙将停止安装节点,因此会连接到个人网络并进行安装,它对我有用。

凯Sam2020/03/24 17:01:09

这对我有用:

proxy = http://1.1.1.1:3128/
https_proxy = http://1.1.1.1:3128/
strict-ssl = false
ca = null
registry = http://registry.npmjs.org/

在这里找到答案:https : //fak3r.com/2015/07/31/howto-use-npm-behind-a-corporate-proxy/

Tom老丝Pro2020/03/24 17:01:09

从npm安装任何软件包时,我在Windows中都遇到了相同的问题。修复了以下问题:-**以管理员身份打开命令提示符并运行这3条命令** /

1. npm config rm代理

2. npm config rm https-proxy

3. npm安装npm @ latest -g

对于MAC / LINUX
1. sudo npm config rm代理

2. sudo npm config rm https-proxy

3. sudo npm install npm @ latest -g

基本上,这是带有npm的版本isuue。请检查它的担心

小胖2020/03/24 17:01:09

尝试npmOracle VirtualBox中模拟的系统上运行时,我遇到了同样的问题我通过在网络适配器属性中添加Google DNS地址来解决此问题。

网络适​​配器属性> IPv4属性>首选DNS地址:8.8.8.8

DavaidTony宝儿2020/03/24 17:01:09

我遇到了同样的问题,但是这些解决方案均无法正常工作。最后,我通过npm兼容的yarn来安装软件包根据官方网站:

对于大多数用户而言,从npm迁移应该是一个相当简单的过程。Yarn可以使用与npm相同的package.json格式,并且可以从npm注册表中安装任何软件包。

只需安装yarn,然后使用以下命令(相当于npm installin yarn)运行安装程序

yarn install

在以下位置了解更多信息:Yarn:从npm迁移

神乐猴子2020/03/24 17:01:08

没有代理,我在本地家庭网络上也遇到了同样的问题。此主题中的其他答案对我不起作用。我最终要做的是使用yarn,它可以与互换使用npm

yarn add

直到今天,我仍然不知道为什么我的npm仍然无法正常工作。我肯定知道这是我的Wi-Fi的问题,因为当我连接到LTE时,从智能手机广播的互联网npm install又可以正常工作。这可能与路由器设置有关(当我升级互联网速度并且ISP工作人员用新路由器替换旧路由器时出现问题)。

番长猴子2020/03/24 17:01:08

npm config rm proxy

npm config rm https-proxy

为我工作!

前端前端凯2020/03/24 17:01:08

这是一个老问题,但无论如何。

当我尝试部署到heroku时遇到了这个问题,而对我npm有用的修复程序是更新所使用版本。我的版本为2.xx,我更新为3.xx

GOJim2020/03/24 17:01:08

我有npm抛出此错误的问题。

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

npm install resolve@^1.1.6

单独运行时:

npm install resolve

没有工作。

我将node.js从7更新为8,npm安装顺利进行。

我认为也许是版本7引起了这个问题,因为@luschn降级为6,所以他也没有使用7。

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

JinJinNear2020/03/24 17:01:08

我已经尝试过这里和其他页面上发布的几乎所有方法,但是没有用。以下是我按顺序执行的命令,我鼓励您尝试一下,因为它对许多人有用(但对我而言不行):

  • npm config rm proxy
  • npm config rm https-proxy
  • npm config set https-proxy https://username:password@proxy.company.com:6050
  • npm config set proxy http://username:password@proxy.company.com:6050
  • npm config set registry http://registry.npmjs.org/

然后尝试安装该软件包npm install -g express,但失败了。

但是,当我尝试运行npm install npm@latest -g时,奇迹般地执行并安装良好!
然后npm install -g express再次运行也很好。

TL; DR:将npm更新到最新版本解决了该问题(当前为6.0.1)

西门2020/03/24 17:01:08

在工作中,我必须加载浏览器并浏览一个网页(这使我可以通过我们的网络过滤器进行身份验证)。然后,我重试了命令,它成功运行了。

西门2020/03/24 17:01:08

如果您保存的承载令牌现在无效,那么您也可能会遇到此错误。我在使用私有存储库时遇到过这种情况,在该存储库中擦除并重置了帐户,使令牌无效。尽管您的存储库可能不需要身份验证,但是如果您具有来自先前登录的令牌,它将被传递,如果无效,则您的连接将被关闭。

您可以通过使用新的用户名和密码再次登录,或者大概通过npm注销来解决此问题。

猪猪JinJin西里2020/03/24 17:01:08

我不想切换到http作为注册表,对我有用的是从最新的Node版本降级到LTS版本(截至目前为6.x)。

蛋蛋小卤蛋2020/03/24 17:01:08

这可能是由于使用npm安装任何东西sudo导致的-导致缓存中的文件归root所有,从而导致此问题。您可以通过运行以下命令进行修复:

sudo rm -rf ~/.npm

删除缓存。然后尝试任何你再次做,确保你永远不会使用sudo以及npm(或者问题可能回来)。

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

猪猪2020/03/24 17:01:08

您可能需要检查NPM代理设置并删除它。

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

可能有人希望全新安装的NodeJS + NPM不会配置代理。奇怪的是,我的确定义了一个代理,指向IP和端口3128。删除代理就可以了。

逆天Gil2020/03/24 17:01:08

您可能还需要指定代理服务器/端口,在某些环境中,代理的系统设置不足以使npm正常工作。

    npm config set proxy "http://your-proxy.com:80"
梅十三Near2020/03/24 17:01:08

使npm在代理网络中正常运行的三件事。

此设置npm注册表,默认情况下可能需要使用https。

npm配置集注册表“ http://registry.npmjs.org/

其次是系统中的两个代理服务器。如果您的组织使用代理还是您。

npm config设置代理“ http:// username:password @ proxy-url:proxy-port

npm config设置https-proxy“ http:// username:password @ proxy-url:proxy-port

您还可以通过以下方法检查它们是否已设置

npm config获取https-proxy

对于所有值。

MandyStafan2020/03/24 17:01:08

采用

npm config set registry http://registry.npmjs.org/

因此npm要求httpurl而不是https

然后尝试相同的npm install命令

小哥GO2020/03/24 17:01:08

在家删除您的代理设置并在Office网络上打开,这可能很烦人,但是对我有用:

npm config set proxy http://xxx.xxx.xxx.4:8080   
npm config set https-proxy http://xxx.xxx.xxx.4:8080

npm config rm proxy   
npm config rm https-proxy