npm ERR! Error: connect ECONNREFUSED when trying to update the npm

npm ERR! Error: connect ECONNREFUSED when trying to update the npm

我正在尝试使用以下命令更新 npm(节点包管理器):

npm install npm@latest -g

但我在命令提示符中收到以下错误:

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\
node_modules\npm\bin\npm-cli.js" "install" "npm@latest" "-g"

npm ERR! node v6.9.5
npm ERR! npm  v3.10.10
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! syscall connect

npm ERR! Error: connect ECONNREFUSED xxx.xxx.xx.xxx:xxx
npm ERR!     at Object.exports._errnoException (util.js:1022:11)
npm ERR! If you are behind a proxy, please make sure that the
npm ERR! 'proxy' config is set properly.  See: 'npm help config'

有人知道这到底是什么意思吗?
任何帮助将不胜感激。

如果您使用了代理,请确保 npm ERR! 'proxy' 配置设置正确。参见:'npm help config'

参见:

更多信息:

我在代理服务器后面使用 Node JS 时遇到了类似的错误。这是我必须做的修复它的方法:

npm config set proxy http://jdoe:password123@proxy.company.com:8080
npm config set https-proxy http://jdoe:password123@proxy.company.com:8080

只需将 "jdoe" 和 "password123" 替换为您自己的凭据即可访问代理服务器。 @后面的都是服务器域名,或者你也可以输入准确的IP地址。在我的例子中,两个地址都是 HTTP(不是 HTTPS)。

要确认更改,您可以键入:

npm config list

并且应该会列出您的设置。

您也可以从浏览器中获取代理设置(地址)。

尝试:

npm config set proxy null
npm config set https-proxy null
npm config set registry http://registry.npmjs.org/

前两行将删除代理(如果有的话)。

第三行将使 npm 从官方包注册表下载。

我一直在尝试通过

解决这个问题
npm config set registry http://registry.npmjs.org/
npm config set proxy http://myproxyblabla:myport
npm config set https-proxy http://myproxyblabla:myport

但这并没有帮助。 对我有用的唯一解决方案 是向主机文件 (C:\Windows\System32\drivers\etc\hosts)

添加附加字段
151.101.36.162 registry.npmjs.com
151.101.36.162 registry.npmjs.org

这允许 npm 将地址解析为服务器,它将从中下载所需的文件。 您可以在 npm 存储库上熟悉 closed issue,该解决方案已被 npm 贡献者批准。

也许这会帮助有需要的人。由于工作笔记本电脑上的公司代理服务器未得到解析,我浪费了 2 小时后转向此解决方案..!

我从 .npmrc 文件中删除了 proxyhttps-proxy 并仅设置

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

那么,我就可以成功了运行npm install -g create-react-app

.npmrc 文件可在此处找到 C:\Users\<userName>\.npmrc

干杯! 隔离区发展愉快 :p

我的 cra 遇到了同样的问题,我所要做的就是注释掉我的 .npmrc,清理缓存,然后 运行 命令 npx create-react-app

这里的问题是因为代理。所以你需要运行下面提到的命令来删除代理,然后从http://registry.npmjs.org/设置注册表。

    npm config set proxy null
    npm config set https-proxy null
    npm config set registry http://registry.npmjs.org/

然后您可以使用以下方法创建您的第一个 React 应用程序:

    npx create-react-app your-app-name

我们碰巧 运行 进入此错误消息,因为在我们的设置中,Maven Nexus NPM 存储库 运行 在同一台机器上,因此我们首先使用 http://localhost/xyz/ 作为 NPM 存储库URL.

出于某种原因,localhost 被视为系统类型的 NPM 注册表,导致错误。

将 NPM 存储库 URL 配置更改为计算机的主机名,例如http://mycomputer.company.intra/xyz/ 解决了这个问题。

我们最近遇到了类似的问题,我们的要求是对一个功能使用 public npm 注册表,对另一个功能使用私有注册表。因此,对于私有注册表 npm 需要通过代理,但是对于 public 注册表我们不需要代理所以我们在项目中创建了 .npmrc 文件并添加了两个配置变量:

registrynoproxy 其中 noproxy 指向注册表的 public 域。这将确保从全局 npmrc 文件中跳过代理配置。

为我修复的是在我的开发 PC 上的 Window 控制面板中启用 SMB 1.0,如下所示:

控制面板 > 程序和功能 > 打开或关闭 Windows 功能 > SMB 1.0