问题描述
按照 Nuxt 官方文档进行项目初始安装:
bash
$ npx nuxi@latest init <project-name>
但在国内的网络,由于众所周知的原因,会报错:
bash
Error: Failed to download template from registry: Failed to download https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json: TypeError: fetch failed
但是加上科学上网之后,仍然是会报错,根据相关的 issue 这是因为 node 的 https 模块在使用科学上网时会有一定的冲突,可以通过以下命令来验证:
ruby
$ node -e "require('https').get('https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json')"
# 结果会报错
解决方法
虽然使用 cli 方式安装 nuxt 会失败,但是也可以通过手动方式来安装:
首先,先确认上述报错的连接是否能在浏览器打开,打开后,请求会返回一个 json:
json
{
name: "v3",
defaultDir: "nuxt-app",
url: "https://nuxt.com/",
tar: "https://codeload.github.com/nuxt/starter/tar.gz/refs/heads/v3"
}
其中,tar
字段就是项目初始文件的下载地址,下载对应的 starter-3.tar.gz
包到本地,并创建项目文件夹:
bash
# 创建项目目录
$ mkdir -p /path/to/project
# 移动 nuxt 初始文件包到项目目录
$ mv /path/to/file/starter-3.tar.gz /path/to/project
# 进入项目目录
$ cd /path/to/project
# 解压文件包
$ tar -zxvf starter-3.tar.gz
# 重命名 nuxt 项目目录
$ mv starter-3 my-nuxt
# 进入 nuxt 项目目录
$ cd my-nuxt
# 安装依赖(推荐 pnpm)
$ pnpm install
# 启动项目
$ pnpm dev
如果一切顺利,你将在浏览器里看到 nuxt 的欢迎界面:

(全文完)