196

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

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

在此处输入图像描述

4

29 回答 29

381

利用

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

以便 npm 请求httpurl 而不是https.

然后尝试相同的npm install命令

于 2013-08-25T11:37:07.970 回答
57

您可能需要检查您的 NPM 代理设置,并可能将其删除。

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

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

于 2015-10-20T21:02:27.027 回答
18

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

    npm config set proxy "http://your-proxy.com:80"
于 2014-08-08T13:34:57.907 回答
14

在家中删除您的代理设置并在 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
于 2016-03-02T17:50:13.020 回答
11

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

sudo rm -rf ~/.npm

删除缓存。然后再次尝试你正在做的任何事情,确保你永远不会sudo一起使用npm(或者问题可能会再次出现)。

更多信息:npm throws error without sudo

于 2015-08-31T17:33:49.117 回答
5

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

于 2020-01-30T07:04:39.070 回答
4

npm config rm proxy

npm config rm https-proxy

为我工作!

于 2018-02-28T09:39:25.840 回答
4

删除yarn.lock, package-lock.json,node_modules

接着

npm install -f 

为我工作

于 2021-02-17T20:15:34.933 回答
3

使 npm 在代理网络中正常工作的三件事。

这个设置 npm 注册表,默认可能需要 https。

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

其次是您系统中的两组代理。如果您的组织使用代理或您。

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

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

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

npm 配置获取 https-proxy

对于所有值。

于 2018-01-24T14:10:58.893 回答
2

我有同样的问题,但这些解决方案都没有正常工作。最后,我通过npm 兼容的yarn安装了包。根据官网:

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

只需安装yarn,然后使用以下命令运行安装,相当于npm install在yarn中:

yarn install

阅读更多信息:<a href="https://yarnpkg.com/lang/en/docs/migrating-from-npm/" rel="nofollow noreferrer">Yarn:从 npm 迁移。

于 2018-01-30T12:08:22.467 回答
2

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

1. npm 配置 rm 代理

2. npm config rm https-proxy

3. npm 安装 npm@latest -g

MAC/LINUX
1. sudo npm config rm proxy

2. sudo npm config rm https-proxy

3. sudo npm install npm@latest -g

基本上这是带有 npm 的版本 isuue 。请检查它的工作

于 2018-03-11T07:42:51.657 回答
2

如果您使用的是 Windows,您应该跟进 Advanced System Settings 以检查那里声明的环境变量,您应该注意到代理配置可能位于环境变量中,如下图所示:

Windows 环境变量

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

我在我的 Windows 和 npm 设置中关闭了所有代理配置,但是,npm 在下载资源时仍然出现超时和连接错误,然后我发现 env 变量上仍然存在代理配置,这导致了所有麻烦。

于 2018-09-06T18:44:41.570 回答
1

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

于 2015-07-13T14:36:09.773 回答
1

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

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

于 2016-09-30T15:24:16.647 回答
1

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

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

于 2017-02-03T18:04:45.707 回答
1

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

于 2017-03-27T14:47:37.547 回答
1

我遇到了 npm 抛出此错误的问题。

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

npm install resolve@^1.1.6

单独跑步时:

npm install resolve

没用。

我将 node.js 从 7 更新到 8,并且 npm install 顺利进行。

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

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

于 2017-10-17T18:20:05.433 回答
1

我在没有代理的本地家庭网络上遇到了同样的问题。该线程中的其他答案对我不起作用。我最终做的是使用yarnwhich 可以互换使用npm

yarn add

直到今天我都不知道为什么我的 npm 仍然不起作用。我确定这是我的 Wi-Fi 的问题,因为当我连接到智能手机广播的 LTE 互联网时,它会npm install再次工作。它可能与路由器设置有关(当我升级我的互联网速度并且 ISP 工作人员用新路由器替换了我的旧路由器时问题开始了)。

于 2017-12-07T10:03:53.180 回答
1

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

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

于 2018-01-15T22:23:47.200 回答
1

这对我有用:

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/

于 2018-04-17T12:49:49.263 回答
1

我已经尝试了几乎所有在此处和其他页面中发布的方法,但没有奏效。以下是我按顺序执行的命令,我鼓励您尝试一下,因为它适用于很多人(但不适用于我):

  • 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)

于 2018-05-15T11:31:20.357 回答
1

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

于 2018-06-12T10:35:49.377 回答
1

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

我做了这样的事情

  • npm 配置列表
  • npm 配置编辑(在 vi 中打开)
  • 编辑或设置 https-proxy、proxy、registry 的配置条目
  • npm 安装
于 2018-10-24T18:56:16.147 回答
1

以防万一……再试一次对我有用。这可能只是一个临时连接问题。

于 2018-10-24T20:32:22.710 回答
0

npm config set https-proxy " http://username:password@proxy-url:proxy-port " 为我工作

于 2018-08-10T17:04:08.873 回答
0

万一这对遇到我的情况有帮助:我最近安装了 Fiddler,它(我不知道)通过127.0.0.1:8866. 我进入我的 Ubuntu 网络设置,单击“网络代理”设置,然后禁用它,然后一切恢复正常。

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

于 2020-08-15T13:39:32.967 回答
0

我为此找到了一个简单的解决方案。如果您使用的是 Windows 10,请转到网络设置并关闭自动代理检测。它解决了我的问题。我在过去的两天里一直在寻找这个。

于 2021-07-03T10:32:01.377 回答
0

它通过使用以下代码为我解决了:npm install -g yarn

yarn 全局添加 create-react-app

于 2021-12-15T12:06:59.450 回答
-2

解决方案1:

MAC + LINUX

运行此命令sudo

sudo npm install -g yo

视窗

运行 cmd asadministrator然后再次运行此命令

解决方案2:

运行此命令,然后尝试

npm config set registry http://registry.npmjs.org/
于 2021-01-30T23:12:09.297 回答