M1 Mac(arm64)でプロジェクトの環境構築をしているとsbt-protocでエラーが出たので、調べた内容と解決方法を残しておこうと思います。
前提
- MacBook Pro(arm64)
- sbt v1.6.1
- sbt-protoc v1.0.2
原因
protobufが 3.17.3
以前のバージョンではM1 Mac向けのbinaryを配布していていないのが原因です。
sbt-protocのv1.0.2
のコードを見てみると、PB.protocVersionが3.15.6
に指定されているため、M1 Macではエラーになっていました。
原因について言及されているIssue github.com
sbt-protocのv1.0.2
と v1.0.5
の差分
github.com
protobufのM1 Mac Suuportについて言及されているIssue
protobufの3.17.2
のmavenのリポジトリを見てみると、M1 Mac向けのバイナリが配布されていないのが分かります。
解決方法
sbt-protocのバージョンをv1.0.5
以上に上げてください。
sbt-protocのv1.0.5
の PB.protocVersionを確認すると3.19.1
に指定されているため、これ以上に上げればM1 Macでもエラーにならずに使用できると思います。
僕は現時点で最新のv1.0.6
にアップデートすることでエラーを解消しました。(2022/1/16 時点)