Nuxt 3 部署GitLab Pages遇阻:原Nuxt2方法失效求助
解决Nuxt 3部署GitLab Pages的目录问题
正确配置gitlab-ci.yml
直接在流水线中把Nuxt生成的.output/public目录下的内容复制到GitLab Pages要求的public目录,而非直接指定路径(直接指定会仅取项目根目录的原public文件夹)。
示例配置:
image: node:18 pages: stage: deploy script: - npm install - npm run generate # 核心步骤:将生成的站点文件复制到GitLab要求的public目录 - cp -r .output/public/* public/ artifacts: paths: - public only: - main
问题根源说明
- 若直接在
artifacts.paths中写.output/public,GitLab Pages会因部署根目录名称不符合要求(必须为public)而部署失败。 - 若直接将
artifacts.paths设为public,流水线只会打包项目根目录下的原public文件夹(即Nuxt 3替代原static的目录),不会包含生成的站点文件,导致产物无效。
额外检查项
- 确认
nuxt.config.ts中generate配置正常,保证.output/public能生成完整的静态站点文件。 - 查看流水线中
npm run generate的输出,确保生成过程无报错。
内容的提问来源于stack exchange,提问作者Saro
相关产品推荐
相关产品推荐

