当我尝试通过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,我需要更改什么?
答案 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
答案 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,如中所示。
这将解决问题。现在,npm安装将可以正常运行。
答案 9 :(得分:-1)
如果你感到沮丧并且这个猴子业务都不适合你,那就去下载并运行最新的MSI。 https://nodejs.org/en/download/