node.js - vue-cli 創建項目的時候出現connect ECONNREFUSED 錯誤,請問如何解決?
問題描述
我在用vue.js的vue-cli工具創建項目的時候出現了connect ECONNREFUSED 192.30.252.137:443 這個問題。
用的淘寶鏡像
PS F:myWeb1guanggaoqixi2016> 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這個地址,結果一直超時
各位知道什么原因導致的,怎么解決嗎?
問題解答
回答1:我了個去,折騰了那么久終于解決了~~~~
不知道你們的host文件有沒有改過?
因為我的改過host翻墻,后來用lantern翻墻。今天無意中看到一個說把host相關翻墻配置刪了就可以的,我刪了github相關的配置結果真的就可以了。。。如果你們的host也有改過的可以試試看!
個中原因不懂,不過我猜測有沒有可能是host文件配置跟代理軟件的相關配置沖突了?
回答2:同問這個問題
回答3:手機寫的,vue init webpack project-name
回答4:請問題主解決這個問題了嗎?同樣遇到這個問題不知道怎么解決...
回答5:簡單而言,原因是代理設置問題。
具體而言,是 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 命令指定模板分支。
回答6:我之前也遇到同樣的問題,找了一會發現,應該是hosts的問題,我之前改過自己的hosts,把它恢復成默認的狀態就可以了
回答7:昨天是好的。。更了2.5版本的vue-cli我的就跟原po發生了同樣的問題了~!~!!啊啊啊啊啊啊啊啊啊啊啊啊啊~!!沒看懂啊。求解~!
相關文章:
