Как я могу установить protocol, компилятор 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. - Извлеките содержимое и внесите изменения в каталог
./configuremakemake checksudo make installsudo ldconfig # refresh shared library cache.
Проверьте, работает ли это
$ protoc --versionlibprotoc 3.6.1
sudo apt install protobuf-компилятор
Если вы не являетесь пользователем C++ и/или не хотите компилировать его самостоятельно, самый простой способ установить текущую версию protocol - загрузить предварительно созданный двоичный файл со страницы выпуска.
https://github.com/protocolbuffers/protobuf/releases
Для установки просто поместите этот двоичный файл куда-нибудь в свой ПУТЬ (например, /usr/local/bin).
(Если вы собираетесь использовать включенные хорошо известные типы, то не забудьте также скопировать содержимое каталога 'include' куда-нибудь, например, в /usr/local/include/.)
Вы можете загрузить двоичный файл из исходного кода и использовать следующие команды
sudo rm -rf ./protocunzip protoc-3.10.1-linux-x86_64.zip -d protocchmod 755 -R protocBASE=/usr/localsudo 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/protocol)
3) добавьте запись в /usr//.bash_profile как export PROTOC_HOME=/user/app/protocexport PATH=$PROTOC_HOME/bin:$PATH
4) обновить файл $source /usr/<username>/.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.zipcurl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/$PROTOC_ZIPsudo unzip -o $PROTOC_ZIP -d /usr/local bin/protocsudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'rm -f $PROTOC_ZIPЭто полезно, когда вы выполняете генерацию для go с помощью protocol-gen-go, поскольку для этого требуется, чтобы базовые протофайлы присутствовали в папках включения по умолчанию