尝试安装软件包时,Node.js ECONNREFUSED

时间:2016-03-03 14:35:14

标签: node.js npm

我正在使用learnyounode教程学习node.js.我在尝试安装软件包时遇到错误。

npm ERR! Linux 4.2.0-c9
npm ERR! argv "/home/ubuntu/.nvm/versions/node/v4.1.1/bin/node" "/home/ubuntu/.nvm/versions/node/v4.1.1/bin/npm" "install" "through2-map" "--save"
npm ERR! node v4.1.1
npm ERR! npm  v3.7.5
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! syscall connect

npm ERR! Error: connect ECONNREFUSED 127.0.0.1:15443
npm ERR!     at Object.exports._errnoException (util.js:837:11)
npm ERR!     at exports._exceptionWithHostPort (util.js:860:20)
npm ERR!     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14)
npm ERR!  { [Error: connect ECONNREFUSED 127.0.0.1:15443]
npm ERR!   code: 'ECONNREFUSED',
npm ERR!   errno: 'ECONNREFUSED',
npm ERR!   syscall: 'connect',
npm ERR!   address: '127.0.0.1',
npm ERR!   port: 15443 }
npm ERR! 
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! Please include the following file with any support request:
npm ERR!     /home/ubuntu/workspace/npm-debug.log

我也做了npm config ls,看看我的配置是否有任何异常,但我真的不知道我在寻找什么。有人可以帮我弄清楚如何修复此错误,以便我可以安装包。

; cli configs
user-agent = "npm/3.7.5 node/v4.1.1 linux x64"

; userconfig /home/ubuntu/.config/how-to-npm/npmrc
//localhost:15443/:always-auth = false
//localhost:15443/:email = "rawledjuglal@gmail.com"
//localhost:15443/:username = "rawlejuglal"

; node bin location = /home/ubuntu/.nvm/versions/node/v4.1.1/bin/node
; cwd = /home/ubuntu/workspace
; HOME = /home/ubuntu
; "npm config ls -l" to show all defaults.

4 个答案:

答案 0 :(得分:2)

将NPM注册表设置回registry.npmjs.org:

npm set registry https://registry.npmjs.org

答案 1 :(得分:1)

你的npmrc文件试图将你发送到localhost:15443上的注册表主机,用你的npmrc文件中的//删除这三行,然后再次尝试npm安装。这应该会将您发送到存在该包的npm注册表。

答案 2 :(得分:0)

似乎再次需要init:

  1. 转到包目录(package.json所在的位置)
  2. 运行:npm init
  3. 在命令行中回答所有问题
  4. 转到浏览器并转到127.0.0.1:15443
  5. 成功的结果应该是:{error:“missing”}

答案 3 :(得分:0)

我也是提取问题。我希望以下信息可以帮助像我这样的其他人。

对我来说,原因是 .npmrc ,其中注册表设置为http://localhost:15443/

.npmrc npm 获取其配置设置的来源之一。您将从中获得有关 .npmrc 文件的更多信息  here

我如何解决问题

我使用了显示npm配置列表的命令npm config ls -l,其中我发现注册表https://registry.npmjs.org/被覆盖。 部分配置

; project config /home/sumon/projects/codecamp-node/.npmrc
registry = "http://localhost:15443/"
userconfig = "/home/sumon/.config/how-to-npm/npmrc"

; userconfig /home/sumon/.config/how-to-npm/npmrc
//localhost:15443/:always-auth = false
//localhost:15443/:email = "hasanuzzaman.sumon@gmail.com"
//localhost:15443/:username = "engr.hasanuzzaman"
; registry = "https://registry.npmjs.org/" (overridden)

从上面你会看到项目配置,表明我项目的根文件夹中有.npmrc

在以开头的unix系统文件中。是隐藏文件。要在unix上查看隐藏文件,您可以使用终端ctl+h的{​​{1}}。

如何解决这个问题

  1. 如果您不需要,请从ls -a文件中删除registry = http://localhost:15443/
  2. 设置注册表选项,如下所示 .npmrc