protoファイルコンパイル
1774 ワード
protobufは今ますます流行して、时には再びprotobufをプラスする必要があって、ふだんはすべて他の人の書き方を写して、しかし时には比較的に多いprotobufをプラスして、迅速に結果を検証して、しかも文法の問題がありますか.そこでローカルとdockerでprotobufをコンパイルする方法を探しました.
1.macにコンパイル環境をインストールする
インストール:
上記のコマンドがノックされたら、protoファイルを編集してテストすることができます.ここで私が使用している公式の例では、まずtutorialフォルダを作成しました.
tutorialにprotoファイル
コンパイルコマンドを実行するには、次の手順に従います.
これにより、tutorialフォルダの下に別のファイル
2.dockerコンパイルprotobuf
ネット上で私は
まとめ
ここではprotobufをインストールしてコンパイルする過程を簡単に記録し、dockerというツールがあり、protobufをコンパイルするのも簡単で、protobufの文法については公式ドキュメントを参照することができます.
1.macにコンパイル環境をインストールする
インストール:
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protoc-3.9.0-osx-x86_64.zip
unzip protoc-3.9.0-osx-x86_64.zip proto-3.9
cp proto-3.9/bin/protoc $PATH
上記のコマンドがノックされたら、protoファイルを編集してテストすることができます.ここで私が使用している公式の例では、まずtutorialフォルダを作成しました.
mkdir tutorial
tutorialにprotoファイル
addressbook.proto
を作成します.syntax = "proto3";
package tutorial;
message Person {
string name = 1;
int32 id = 2; // Unique ID number for this person.
string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
string number = 1;
PhoneType type = 2;
}
repeated PhoneNumber phones = 4;
}
// Our address book file is just one of these.
message AddressBook {
repeated Person people = 1;
}
コンパイルコマンドを実行するには、次の手順に従います.
protoc -I=./tutorial --go_out=./tutorial ./tutorial/*.proto
これにより、tutorialフォルダの下に別のファイル
addressbook.pb.go
が正常に作成されたことがわかります..
└── tutorial
├── addressbook.pb.go
└── addressbook.proto
2.dockerコンパイルprotobuf
ネット上で私は
znly/protoc
というdocker imageにprotobufコンパイルのツールが含まれていることを発見しました.そのため、私たちは直接次のコマンドを実行してtutorialの下のprotoファイルをコンパイルすることができます.docker run --rm -v $(PWD):$(PWD) -w $(PWD) znly/protoc -I=./tutorial --go_out=./tutorial ./tutorial/*.proto
まとめ
ここではprotobufをインストールしてコンパイルする過程を簡単に記録し、dockerというツールがあり、protobufをコンパイルするのも簡単で、protobufの文法については公式ドキュメントを参照することができます.