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

如何配置SBT使用本地安装的protoc编译Scala项目

解决protoc-jar无法下载osx-aarch_64版本protoc 3.7.1的问题

问题根源

protoc 3.7.1发布时Apple Silicon(aarch_64)架构还未推出,官方没有适配该架构的预编译包,所以protoc-jar自动下载时会找不到对应版本报错。你已经通过Homebrew安装了本地protoc,只需配置SBT优先使用本地版本即可。

具体配置方案

以下几种方式任选其一即可:

1. 项目build.sbt中配置(推荐,仅当前项目生效)

如果项目使用sbt-protoc插件,在build.sbt里添加:

PB.protoc := "/opt/homebrew/bin/protoc"

如果是直接依赖protoc-jar,可在build.sbt里开启fork模式并设置系统属性:

fork := true
javaOptions += "-Dprotoc.path=/opt/homebrew/bin/protoc"

2. 启动SBT时临时指定(单次生效)

执行命令时直接传入参数:

sbt -Dprotoc.path=/opt/homebrew/bin/protoc runMain Project

3. 全局配置(所有SBT项目生效)

在~/.sbt/1.0/global.sbt文件中添加以下内容(没有该文件就新建):

sys.props("protoc.path") = "/opt/homebrew/bin/protoc"

配置完成后再执行sbt runMain Project,就能正常使用本地安装的protoc了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:50:58