我正在尝试安装node_module但收到以下错误:
例如:npm install grunt-preprocess
D:\grunt_pre>npm install grunt-preprocess
npm http GET https://registry.npmjs.org/grunt-preprocess
npm http GET https://registry.npmjs.org/grunt-preprocess
npm http GET https://registry.npmjs.org/grunt-preprocess
npm ERR! Error: connect ETIMEDOUT
npm ERR! at errnoException (net.js:901:11)
npm ERR! at Object.afterConnect [as oncomplete] (net.js:892:19)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "grunt-preprocess"
npm ERR! cwd D:\grunt_pre
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
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! D:\grunt_pre\npm-debug.log
npm ERR! not ok code 0
答案 0 :(得分:22)
注册表网址指向https
,您可以尝试通过
npm config set registry="http://registry.npmjs.org/"
然后尝试安装模块。您可能在阻止安全(https
)连接
如果它不起作用,那么您可以手动尝试从here
下载您尝试安装的模块的当前版本运行命令npm install grunt-preprocess-2.3.0.tgz
答案 1 :(得分:3)
我也遇到了chmod 777 tmp
错误,并且能够通过禁用路由器的防火墙,重新启动它来解决问题,最重要的是,使用以下npm命令配置同时连接的数量:
ETIMEDOUT
这将最大连接数设置为3,而不是默认值50。 自npm@3.8.0起,CLI已允许此选项。有关详细信息,请参阅this link。
答案 2 :(得分:1)
我得到完全相同的东西。模块存在,但实际的下载存储库已关闭,或者此刻npm存在问题。请在几天后重试或将其报告给github链接。
编辑:
您收到的错误是服务器或连接超时。可能是因为您在阻止连接的防火墙/代理后面。
答案 3 :(得分:1)
尝试@ Canmah的答案。如果它无法帮助您尝试检查您的代理配置。
如果有代理,请按照下面的说明更新npm注册表,然后尝试安装节点模块。
@ the command prompt update the
npm config set proxy <proxyserver>:<port>
答案 4 :(得分:0)
这可能是模块 bin-wrapper 的问题,它不尊重代理,这就是您在尝试下载时看到 ETIMEDOUT 错误的原因。
要解决此问题,您可以设置环境变量HTTP_PROXY和/或HTTPS_PROXY 适用于Windows / Linux。
The solved bin-wrapper issue.
Commit with fix.
修复中的代码片段:
var proxyServer = process.env.HTTPS_PROXY ||
process.env.https_proxy ||
process.env.HTTP_PROXY ||
process.env.http_proxy;