bazelでビルドしようとしたときに、ビルドしようとしているプロジェクトによってはbazelのバージョンに依存して、エラーになったりとかしてハマるケースが多い…。そうすると、bazelの複数のバージョンを自前で管理したりとかは面倒くさすぎる。そのようなときには、bazeliskを使えば良いっぽい。
bazeliskはGoで書かれたBazelのラッパーで、環境変数や設定ファイルで指定されたbazelを利用することができる。インストールはGoが利用できる環境で
$ go get github.com/bazelbuild/bazelisk
とすればよい。あとは、bazelとして、パスが通っているところにシンボリックリンクなどを貼っておけばよい。
$ ln -s which bazelisk
~/bin/bazel
利用する際は、ビルドしたいプロジェクトに.bazelversionとか置いてあれば、そのバージョンでビルドしてくれるようになるが、なければ、.bazelversionファイルにbazelのバージョンを書いて置いておけば、あとは普通にbazelコマンドでビルドできる。
という感じで、たまにTensorflowをビルドしようとして、エラーになってハマるみたいなこともなくなるので、一つ悩みがなくなった今日この頃。