- required Go 1.17 or Higher version
- recommended
direnv, to allow all Go-based binaries to be local to this folder and not installed globally. For more details you can refer to this post.
Install the following tools:
- required Protocol Buffers Compiler,
protoc(3.19.4to date version):- Homebrew:
brew install protobuf - Alpine 3.15:
apk add protobuf-dev protobuf - Ubuntu 21.10:
apt-get install protobuf-compiler libprotobuf-dev
- Homebrew:
- required
bufCLI for linting and compiling:go install github.com/bufbuild/buf/cmd/buf@v1.0.0
- required Protocol Buffer Plugin for Go:
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.27.1
- required gRPC Plugin for Go:
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0
- recommended Code Formatting,
clang-format, you can usefind . -name '*.proto' | xargs clang-format -i- Homebrew:
brew install clang-format(13.0.1to date version): - Alpine 3.15:
apk add clang-extra-tools - Ubuntu 21.10:
apt-get install clang-format
- Homebrew: