1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu 20.04 に最新のprotobufを入れてprotocでGoのコードを生成するまで

Last updated at Posted at 2021-05-05

前書き

死ぬほど苦戦しました。
protobufの入れ方が幾つかあるのですが、上手くいかないものが沢山あり、ようやくインストールする方法が見つかりました。

前提

  • go version go1.13.8 linux/amd64
  • NAME="Ubuntu"
    VERSION="20.04.2 LTS (Focal Fossa)"

protobuf

sudo apt install protobuf-compiler

だとバージョンが古すぎてAPIv2が使えません。

公式のリポジトリからコードを引っ張ってきてインストールすることになります。

sudo apt install autoconf automake libtool curl make g++ unzip -y
git clone https://github.com/google/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
configure
make
make check
sudo make install
sudo ldconfig

引用 [Ubuntu 20.04に最新のProtobufをインストールする](https://qiita.com/reoring/items/0b9b6ce0623a4d8266f0)

`make`や`make check`等は劇遅です。
環境によっては1時間ほどかかるかも。

ターミナルを一度再起動して

```bash
protoc --version

で最新バージョンになっていればOKです。

Goのライブラリ

go install google.golang.org/grpc
go install github.com/golang/protobuf/protoc-gen-go
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc

PAHTが通っていないのであれば

protoc-gen-go-grpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable

このようなエラーが出る場合はPATHが通っていないので
~/.bashrcを開くor作成して

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

を追記

以上

後は任意のprotoに対してprotocコマンドを実行。
以上で生成できました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?