vue-cli 创建项目的时候出现connect ECONNREFUSED 错误,请问如何解决?
高洛峰
高洛峰 2016-11-09 11:11:25
0
2
1382

我在用vue.js的vue-cli工具创建项目的时候出现了connect ECONNREFUSED 192.30.252.137:443 这个问题。

用的淘宝镜像

PS F:\myWeb\1guanggao\qixi2016> vue init webpack ? Generate project in current directory? Yes vue-cli · connect ECONNREFUSED 192.30.252.137:443
connect ETIMEDOUT 192.30.252.137:443

现在出现这个问题,尝试ping这个地址,结果一直超时

各位知道什么原因导致的,怎么解决吗?


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复 (2)
代言

手机写的,vue init webpack project-name

    三叔

    简单而言,原因是代理设置问题。

    具体而言,是 vue-cli 中,使用 request 去查询可下载的模板列表 以及 使用 download-git-repo 下载对应的模板。

    request 模块

    request 没有设置代理,你可以修改 vue-init 和 vue-list 文件中使用 request 的地方,添加上对应的代理服务器设置,比如 vue-init 中的 checkDistBranch 方法:

    function checkDistBranch (template, cb) { request({ proxy: "Your proxy address", url: 'https://api.github.com/repos/' + template + '/branches', headers: { 'User-Agent': 'vue-cli' } }, function (err, res, body) { if (err) logger.fatal(err) if (res.statusCode !== 200) { logger.fatal('Template does not exist: ' + template) } else { var hasDist = JSON.parse(body).some(function (branch) { return branch.name === 'dist' }) return cb(hasDist ? template + '#dist' : template) } }) }

    这样能够确保 vue-cli 可以查询到对应的可下载模板列表。

    download-git-repo 模块

    下载模块使用的是 download-git-repo , 这个模块又依赖 download 模块, download 模块中使用了 caw 模块,它可以读取 .npmrc 中我们设置的代理,所以当设置过 .npmrc 中的代理时,下载模板的过程是不会出问题的。

    解决方案

    如果你的网络环境需要设置代理服务器才能访问外网,那么你需要:

    修改 request 的调用方法,添加 proxy 属性。

    设置你的 .npmrc 文件,配置好对应的代理服务器。

    简单一点,你也可以直接下载对应的模板,比如 webpack-simple 放置在需要执行 vue init 的同级目录中,使 vue init能够成功运行。

    友情提醒

    注意 webpack-simple 模板,使用的是 vue 2.0 版本,如果你想要基于 1.x 版本开发,请使用 vue init webpack-simple#1.0 my-project 命令指定模板分支。


      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!