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

新手求助:如何解决Multiple output directories specified错误?

Multiple output directories specified 错误原因及解决办法

错误原因

  • 项目配置文件(比如build.gradle、webpack.config.js或package.json这类构建工具配置)里重复定义了输出目录,构建工具没法确定编译文件的存放路径,直接抛出这个错误。
  • 举个常见例子:Android项目的build.gradle里,既在applicationVariants里设了outputDir,又在sourceSets里指定了输出路径;或者Webpack配置里多次写了output.path。

解决办法

1. 定位对应配置文件

根据你用的开发工具找配置:

  • Android开发:找app/build.gradle
  • 前端Webpack项目:webpack.config.js
  • Node.js项目:检查package.json里的scripts命令或专属构建配置文件

2. 清理重复的输出目录配置

给几个常见场景的修正示例:

Android项目

打开app/build.gradle,搜outputDir相关代码,比如:

android {
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFileName = "my-grocery-app.apk"
            output.outputDir = new File(project.rootDir, "release-apk") // 这里是一处配置
        }
    }
    sourceSets {
        main {
            // 如果这里也有类似output相关的重复配置,直接删掉
        }
    }
}

只保留一处outputDir定义就行。

Webpack项目

打开webpack.config.js,看output区块:

const path = require('path');

module.exports = {
    entry: './src/index.js',
    output: {
        path: path.resolve(__dirname, 'dist'), // 唯一的输出目录配置
        filename: 'bundle.js'
    }
    // 别在其他地方再写output.path
}

确保整个配置文件里只有一处output.path。

命令行传参重复

如果是通过命令行跑构建,比如输了npm run build --output-dir=dist --output-dir=build,这种重复传参也会报错,删掉其中一个重复的参数就行。

3. 重新运行构建命令

改完配置后,重新执行你的构建指令(比如Android的./gradlew assembleRelease、前端的npm run build),错误应该就解决了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:54:57