今天在使用vue-cli的時候,遇到了一個奇怪的問題,就是執(zhí)行vue init命令時卡在了Fetching remote template的步驟,一直無法完成。我多次嘗試了重裝node、重裝vue-cli等操作,但都沒有解決問題。
最后,我通過查看執(zhí)行vue init時的network流程,發(fā)現(xiàn)在Fetching remote template時會去訪問github.com上的一個json文件,而這個文件在中國地區(qū)被墻掉了。所以就導致了vue init一直無法完成。
vue-cli · Failed to download repo vuejs-templates/webpack:Command failed:git clone --depth=1 -q https://github.com/vuejs-templates/webpack.git /var/folders/7q/l9mv_xl12bg4lp06ptm6dzw0000gn/T/tmp_4xGwpfatal: Unable to find remote helper for 'https'
為了解決這個問題,我在本地host文件中添加了github.com和cdn.jsdelivr.net的host映射,在訪問這兩個網(wǎng)站時直接指向了它們對應的ip地址。這樣一來,執(zhí)行vue init時就成功地跳過了Fetching remote template步驟的阻塞。
# GitHub Start192.30.253.112 github.com151.101.185.194 github.global.ssl.fastly.net# GitHub End # JsDelivr Start185.199.111.153 cdn.jsdelivr.net185.199.108.153 cdn.jsdelivr.net185.199.109.153 cdn.jsdelivr.net185.199.110.153 cdn.jsdelivr.net# JsDelivr End
總的來說,通過添加host映射的方式可以解決vue init卡在Fetching remote template的問題。如果你也遇到了類似的問題,可以嘗試一下這個方法。