You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成Swell的Next.js Commerce构建报错:turbo pipeline无public任务

解决Turbo构建时"task public not found"错误

错误根源

你的/site/package.json中build脚本写的是:

"build": "next build public"

Turbo会将next build后面的public解析为需要在turbo.json的pipeline中定义的任务名称,但你并没有配置名为public的任务,所以触发报错。

修复步骤

1. 修正site的build脚本

Next.js默认会自动识别项目根目录下的public文件夹作为静态资源目录,不需要在next build命令后额外指定。直接修改/site/package.json的build脚本:

"build": "next build"

2. (可选)如果需要自定义静态资源目录

如果你确实要指定非默认的静态资源目录,不要在build命令后加参数,而是在site目录下的next.config.js中配置publicDir(Next.js 12及以上版本支持):

// site/next.config.js
module.exports = {
  publicDir: './your-custom-public-folder'
}

3. 验证Turbo配置

确保turbo.json中的next-commerce#build配置正确,该配置已经针对site包的build任务做了依赖和输出设置,无需额外添加public任务:

"next-commerce#build": {
  "dependsOn": [
    "^build",
    "$COMMERCE_PROVIDER",
    "$BIGCOMMERCE_STOREFRONT_API_URL",
    "$NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN",
    "$NEXT_PUBLIC_SWELL_STORE_ID"
  ],
  "outputs": [".next/**"]
}

测试修复

修改完成后,重新执行构建命令:

yarn build

内容的提问来源于stack exchange,提问作者taro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:18:35