node.js - vue-cli 创建项目的时候出现connect ECONNREFUSED 错误,请问如何解决?
黄舟
黄舟 2017-04-17 15:23:48
0
7
874

我在用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这个地址,结果一直超时

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(7)
Ty80

我了个去,折腾了那么久终于解决了~~~~

不知道你们的host文件有没有改过?

因为我的改过host翻墙,后来用lantern翻墙。今天无意中看到一个说把host相关翻墙配置删了就可以的,我删了github相关的配置结果真的就可以了。。。如果你们的host也有改过的可以试试看!

个中原因不懂,不过我猜测有没有可能是host文件配置跟代理软件的相关配置冲突了?

大家讲道理

同问这个问题

刘奇

手机写的,vue init webpack project-name

PHPzhong

请问题主解决这个问题了吗?同样遇到这个问题不知道怎么解决...

左手右手慢动作

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

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

request 模块

request 没有设置代理,你可以修改 vue-initvue-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 命令指定模板分支。

洪涛

我之前也遇到同样的问题,找了一会发现,应该是hosts的问题,我之前改过自己的hosts,把它恢复成默认的状态就可以了

左手右手慢动作

昨天是好的。。更了2.5版本的vue-cli我的就跟原po发生了同样的问题了~!~!!啊啊啊啊啊啊啊啊啊啊啊啊啊~!!没看懂啊。求解~!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板