protobuf-javascriptをビルドする
https://1.bp.blogspot.com/-lqiH-mJDS7Q/Vw5KpbPLWII/AAAAAAAA5sw/kkcMJW6nEYIcUBEPuskLa9Plm2P5OyEFwCLcB/s800/kyodai_robot.png
記載時点(2022-09-27) で公式のビルドが用意されていない。
追記: 2022-10-11 に v3.21.2 として公式のビルドが提供された
ビルド方法
公式ビルドが提供されていないのでなんとか自分でビルドする必要がある。忘備録を兼ねて以下に手順を示す。
コードの取得
Docker上でビルドする
code:sh
# protobuf-javascript の展開先に移動する
cd /path/to/protobuf-javascript
# Ubuntu のコンテナを起動する (必要に応じてlinux/arm64にしたりOSを変えてもOK)
docker run -it --platform linux/amd64 -v $PWD:/opt ubuntu bash
protobuf-javascript はビルドに Bazel を使用しているので、環境に Bazel のビルド環境を用意する必要がある。 最も手軽なのは Bazel を管理する Bazelisk を使用する方法がおそらく良い。 code:sh
# アーキテクチャを取得する
export ARCH=dpkg --print-architecture
# ビルドに必要なツールをインストール
apt update -y && apt install -y curl g++ xz-utils
# Bazelisk をインストール
chmod +x /usr/local/bin/bazelisk
# Bazelisk を使ってビルドする
cd /opt
bazelisk build //generator:protoc-gen-js
cp ./bazel-bin/generator/protoc-gen-js ./protoc-gen-js-linux-$ARCH
xz ./protoc-gen-js-linux-$ARCH
xz にしたのは好みなので 適宜 gzip などに変えてもいいかも知れない。