Skip to main content

常见问题

这里列出了一些常见问题及其解答。

安装问题

在安装依赖时可能会遇到各种问题,以下是常见解决方案:
  1. 清除缓存后重新安装
  1. 检查 Node.js 和包管理器版本
确保您使用的 Node.js 版本与项目兼容(推荐 Node.js 18+)。
  1. 使用特定的 registry
如果您在中国大陆,可以尝试使用淘宝镜像:
  1. 检查网络问题
某些依赖可能因为网络问题下载失败,特别是涉及到 GitHub 的依赖。尝试使用代理或 VPN。
  1. 安装失败的具体依赖
如果只有特定依赖安装失败,可以尝试单独安装:
Codofly Template 基于 Next.js 15 构建,建议使用以下 Node.js 版本:
  • 推荐版本: Node.js 18.x 或 20.x
  • 最低版本: Node.js 18.17.0
  • 不支持版本: Node.js 16.x 及以下版本
如果您需要管理多个 Node.js 版本,建议使用 nvm(Node Version Manager):
如果出现与 Node.js 版本相关的错误,检查 package.json 中的 engines 字段:
使用不兼容的 Node.js 版本可能导致以下问题:
  • 构建错误
  • 运行时错误
  • 依赖冲突
  • 性能问题
Codofly Template 使用 Prisma ORM 连接 PostgreSQL 数据库,常见连接问题及解决方案:
  1. 连接字符串格式错误
确保您的 DATABASE_URL 环境变量格式正确:
  1. 数据库服务器未运行
确认数据库服务器正在运行,并且可以从应用服务器访问:
  1. 防火墙或网络问题
如果数据库在远程服务器上,确保端口已开放(PostgreSQL 默认为 5432)。
  1. Prisma 模型与数据库不同步
运行 Prisma 迁移同步数据库结构:
  1. SSL 要求
如果您的数据库要求 SSL 连接,请在连接字符串中添加相应参数:
  1. 使用 Prisma 调试
开启 Prisma 调试日志查看详细连接信息:

配置问题

环境变量配置问题是最常见的启动错误来源。以下是解决方案:
  1. 确保创建了正确的环境文件
开发环境应创建 .env.local 文件,检查是否从示例文件正确复制:
  1. 检查必需的环境变量
确保所有必需的环境变量都已配置,特别是:
  1. 检查环境变量格式
确保没有多余的空格、引号或特殊字符:
  1. 环境变量加载问题
如果环境变量似乎没有被加载,尝试使用 dotenv 显式加载:
  1. 检查不同环境的配置
开发环境使用 .env.local,生产环境通常在部署平台(如 Vercel)配置。
Stripe 支付集成是 Codofly Template 的关键功能,以下是常见配置问题及解决方案:
  1. API 密钥不正确
确保使用了正确的 Stripe API 密钥,区分测试模式和生产模式密钥:
  1. Webhook 设置问题
Stripe Webhooks 需要正确配置才能处理支付事件:
  • 在 Stripe 仪表板创建 webhook
  • 添加端点 URL(例如 https://yourdomain.com/api/stripe/webhooks
  • 选择需要监听的事件(至少 checkout.session.completed
  • 获取 Webhook 密钥并配置环境变量:
  1. 本地开发中测试 Webhooks
使用 Stripe CLI 在本地测试 Webhooks:
  1. 产品和价格配置
确保在 Stripe 仪表板中创建了产品和价格,并在代码中正确引用价格 ID:
  1. 货币不匹配问题
确保应用中使用的货币与 Stripe 价格设置匹配。
NextAuth.js(Auth.js)是 Codofly Template 的认证系统,以下是常见配置问题:
  1. 基本配置缺失
确保设置了基本的 NextAuth 环境变量:
  1. OAuth 提供商配置
配置社交登录提供商的 Client ID 和 Secret:
  1. 数据库适配器问题
确保 Prisma 适配器配置正确:
  1. 回调 URL 设置
在 OAuth 提供商的开发者控制台中,确保添加了正确的回调 URL:
  1. 会话配置问题
根据需要配置会话策略(JWT 或数据库):
  1. 自定义页面路由
如果使用自定义登录页面,确保正确配置:

开发问题

在 Codofly Template 中添加新页面遵循 Next.js App Router 的规范:
  1. 创建新的路由目录
app/[locale] 目录下创建相应的目录结构:
  1. 创建页面组件
创建 page.tsx 文件,这是路由的主要入口点:
  1. 添加国际化支持
messages 目录下的语言文件中添加翻译:
然后在页面中使用翻译:
  1. 添加页面到导航
在导航组件中添加新页面链接:
  1. 添加访问控制(如需要)
如果页面需要认证,添加适当的权限检查:
Codofly Template 使用 Tailwind CSS 进行样式设计,您可以通过以下方式自定义主题:
  1. 修改 Tailwind 配置
编辑 tailwind.config.ts 文件自定义颜色、字体等:
  1. 自定义全局样式
编辑 app/globals.css 文件添加自定义 CSS 变量和样式:
  1. 修改组件主题
Codofly Template 使用 shadcn/ui 组件,您可以通过修改 components/ui/theme.js 文件自定义组件样式:
  1. 深色模式切换
Codofly Template 已内置深色模式支持,可以使用主题切换组件:
  1. 自定义品牌资源
替换以下文件以自定义品牌资源:
  • public/logo.svg - 主要徽标
  • public/favicon.ico - 网站图标
  • app/[locale]/opengraph-image.png - 社交媒体预览图
Codofly Template 支持多种 AI 模型提供商,添加新的 AI 模型需要几个步骤:
  1. 更新模型配置
编辑 lib/models.ts 文件,添加新的模型定义:
  1. 实现模型客户端创建函数
getModelClient 函数中添加新的提供商支持:
  1. 添加环境变量
.env.local 和生产环境中添加新的 API 密钥:
  1. 更新 UI 选择器
确保模型选择器组件显示新的模型:
  1. 实现计费逻辑
确保计费系统支持新的模型:
  1. 测试新模型
在开发环境中测试新模型的请求、响应和计费逻辑,确保一切正常工作。