nuxt.js用npm或pnpm初始化仓库报错

报错内容

Failed to download https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json: TypeError: fetch failed

问题原因

网络被墙,需要科学上网,但是命令行不能直接使用科学,有三种解决方式。

解决方案

1. 手动下载(实测解决问题,推荐!)

浏览器打开https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json​,可以看到如下json:

{
  "name": "v3",
  "defaultDir": "nuxt-app",
  "url": "https://nuxt.com",
  "tar": "https://codeload.github.com/nuxt/starter/tar.gz/refs/heads/v3"
}

其中tar​属性就是安装包,浏览器访问https://codeload.github.com/nuxt/starter/tar.gz/refs/heads/v3​下载安装包starter-3.tar.gz​,手动解压到开发目录,改成你的项目名,然后:

cd <解压后目录>
pnpm install
pnpm dev

即可。

2. 命令行设置代理(未实测过)

powershell

# 请根据实际情况设置梯子地址
$env:all_proxy="ip:port"
$env:FORCE_NODE_FETCH=1
# 最后执行初始化,请根据实际情况执行
pnpm dlx nuxi@latest init my-app

bash

export all_proxy="ip:port" && export FORCE_NODE_FETCH=1 && pnpm dlx nuxi@latest init my-app

3. 修改hosts(实测可能不行)

在终端输入以下命令,测试是否连通:

ping raw.githubusercontent.com

如果ping不通,可以访问

https://ipaddress.com/website/raw.githubusercontent.com

如下ip加入hosts文件

image

185.199.108.133 raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com

然后再ping

ping raw.githubusercontent.com

ping通后即可创建项目