安装grunt时出现NodeJS NPM代理错误

时间:2014-11-18 08:07:56

标签: node.js proxy gruntjs npm

当我尝试通过grunt安装npm时,我收到以下错误:

C:\Program Files\nodejs\node_modules\npm>npm install -g grunt
npm ERR! network connect ETIMEDOUT
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 settings.
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.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "grunt"
npm ERR! cwd C:\Program Files\nodejs\node_modules\npm
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! syscall connect
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Program Files\nodejs\node_modules\npm\npm-debug.log
npm ERR! not ok code 0

我正在使用企业代理配置,我相信我因为其配置而遇到此错误。为了成功安装grunt,我需要更改什么?

10 个答案:

答案 0 :(得分:23)

您需要配置npm配置文件,这可以在终端中完成:

npm config set proxy http://proxy.company.com:8080

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

您的错误日志建议查看“npm help config'”,因此我认为问题来自那里。

如果您想要一个包含更多解释的链接,请参阅this blog entry(还有更多)

祝你好运!

答案 1 :(得分:10)

如果您在" windows"域,将域名添加到代理URL:

npm config set proxy http://domain%5Cuser:password@proxy.company.com:8080
npm config set https-proxy http://domain%5Cuser:password@proxy.company.com:8080

您需要将反斜杠编码为http uri字符串:%5C

如果您的用户名或密码中有特殊字符,则还需要对这些字符进行编码。请记住,这些关键信息以纯文本形式存储在npm配置文件(%HOME%\。npmrc)中。 也可能需要将npm注册表指向http源:

npm config set registry "http://registry.npmjs.org"
npm config set strict-ssl false

答案 2 :(得分:6)

此配置适合我。您需要检查您的http和https端口(通常它们分别是80和443),但在我的情况下,我使用的是端口80。

npm config set proxy http://user:password@proxy.url.com:80

npm config set https-proxy http://user:password@proxy.url.com:80

您可以通过get命令

检查代理设置
npm config get proxy

npm config get https-proxy

答案 3 :(得分:1)

请使用 npm config set proxy http://xx.aa.bb.cc:port 它对我有用 非常感谢!

答案 4 :(得分:1)

运行>> npm config edit

在编辑器中打开配置文件后,删除以下行

注册表= http://registry.npmjs.org/

HTTPS代理= http://host/:port

严格的SSL =假

答案 5 :(得分:0)

以下选项使它对我有用:

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

npm config set proxy http://user:password@proxy.url.com:proxy-port

npm config set strict-ssl false

npm install -g -d yo

答案 6 :(得分:0)

你可以在cmd

中运行它
npm config set <key> <value> [-g|--global]
npm config get <key>
npm config delete <key>
npm config list
npm config edit
npm get <key>
npm set <key> <value> [-g|--global]

npmrc.txt将运行,您可以更改链接和端口

 proxy =http://proxy.company.com:8080

 https-proxy = http://proxy.company.com:8080

reference

答案 7 :(得分:0)

使npm在代理网络中运行良好的三件事。

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

  

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

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

  

npm config set proxy“http://username:password@proxy-url:proxy-port

     

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

答案 8 :(得分:0)

由于.npmrc文件中的配置设置而发生错误。 目录C://Users/<username>/

在记事本中打开.npmrc文件,然后删除其中设置的代理。您只需要将ms build版本和ssl设置为false,如image中所示。

这将解决问题。现在,npm安装将可以正常运行。

答案 9 :(得分:-1)

如果你感到沮丧并且这个猴子业务都不适合你,那就去下载并运行最新的MSI。 https://nodejs.org/en/download/