升级Astro博客后GitHub CI报错:找不到astro:content模块
问题分析与解决方案
核心原因
本地运行正常是因为.astro文件夹(包含自动生成的types.d.ts和astro/content.d.ts)已存在,这些文件为astro:content提供了类型声明。但该文件夹通常会被加入.gitignore,CI流水线拉取代码时不会包含它,导致TypeScript无法找到对应模块的类型定义。
解决步骤
在CI流程中添加类型生成步骤
在pnpm install之后、pnpm check之前,执行astro sync命令,该命令会自动生成.astro文件夹及所需的类型文件:- name: Install dependencies run: pnpm install - name: Generate Astro type declarations run: pnpm astro sync - name: Run typecheck run: pnpm check确认脚本配置
检查package.json中的check脚本:如果是直接调用tsc,必须确保astro sync已执行完成;如果是调用astro check,它会自动触发类型同步,但显式添加astro sync可避免潜在的缓存问题。验证.gitignore规则
确认.gitignore中存在.astro条目,避免将自动生成的类型文件提交到仓库,保持仓库整洁。
内容的提问来源于stack exchange,提问作者Theiaz
相关产品推荐
相关产品推荐

