Как я могу установить protoc, protobuf компилятор для генерации Java, на Ubuntu 16.04?
См. https://github.com/protocolbuffers/protobuf/blob/master/src/README.md:
$ sudo apt-get install autoconf automake libtool curl make g++ unzip
protobuf-all-[VERSION].tar.gz
../configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.
$ protoc --version
libprotoc 3.6.1
sudo apt install protobuf-compiler
Если Вы - пользователь неC++ и/или не хотите компилировать его сами, самый простой способ установить текущую версию protoc состоит в том, чтобы загрузить предварительно созданный двоичный файл со страницы выпуска.
https://github.com/protocolbuffers/protobuf/releases
Для установки просто поместите этот двоичный файл куда-нибудь в ПУТЬ (например,/usr/local/bin).
(Если Вы намереваетесь использовать включенные известные типы, затем не забывают копировать содержание 'включать' каталога где-нибудь также, например, в/usr/local/include/.)
Можно загрузить двоичный файл с исходного кода и использовать следующие команды
sudo rm -rf ./protoc
unzip protoc-3.10.1-linux-x86_64.zip -d protoc
chmod 755 -R protoc
BASE=/usr/local
sudo rm -rf $BASE/include/google/protobuf/
sudo cp protoc/bin/protoc $BASE/bin
sudo cp -R protoc/include/* $BASE/include
Измените свою базу на/usr/, или/usr/loca/, или что-либо еще в Вашем ПУТИ.
1) Загрузите двоичный файл с URL-адреса https://github.com/protocolbuffers/protobuf/releases
2) извлеките и сохраните каталог в определенном месте (/user/ app/protoc)
3) добавить запись в /usr//.bash_profile как
экспорт PROTOC_HOME=/пользователь/приложение/протокол
export PATH=$PROTOC_HOME/bin:$PATH
4) файл обновления $source /usr/<имя_пользователя>/.bash_profile
Другой вариант — выполнить следующую команду одну за другой после загрузки репозитория:
sudo rm -rf ./protoc
unzip protoc-3.10.1-linux-x86_64.zip -d protoc
chmod 755 -R protoc
BASE=/usr/local
sudo rm - rf $BASE/include/google/protobuf/
sudo cp protoc/bin/protoc $BASE/bin
sudo cp -R protoc/include/* $BASE/include
Используйте это, если у вас возникают такие ошибки, как
google/protobuf/descriptor.proto: Файл не найден.
google/protobuf/duration.proto: файл не найден.
google/protobuf/timestamp.proto: файл не найден.
PROTOC_ZIP=protoc-3.7.1-linux-x86_64.zip
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/$PROTOC_ZIP
sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
rm -f $PROTOC_ZIP
Это полезно, когда вы выполняете генерацию для перехода с использованием protoc-gen-go, так как для этого требуется, чтобы базовые прото-файлы присутствовали в папках включения по умолчанию.