Как я могу установить protoc на Ubuntu 16.04?

Как я могу установить protoc, protobuf компилятор для генерации Java, на Ubuntu 16.04?

30
задан 6 September 2018 в 01:27

6 ответов

См. https://github.com/protocolbuffers/protobuf/blob/master/src/README.md:

Prerequesites

$ sudo apt-get install autoconf automake libtool curl make g++ unzip

Установка

  1. От этой страницы загрузите protobuf-all-[VERSION].tar.gz.
  2. Извлеките содержание и изменение в каталоге
  3. ./configure
  4. make
  5. make check
  6. sudo make install
  7. sudo ldconfig # refresh shared library cache.

Проверьте, работает ли это

$ protoc --version
libprotoc 3.6.1
48
ответ дан 23 November 2019 в 00:46
sudo apt install protobuf-compiler
18
ответ дан 23 November 2019 в 00:46

Если Вы - пользователь неC++ и/или не хотите компилировать его сами, самый простой способ установить текущую версию protoc состоит в том, чтобы загрузить предварительно созданный двоичный файл со страницы выпуска.

https://github.com/protocolbuffers/protobuf/releases

Для установки просто поместите этот двоичный файл куда-нибудь в ПУТЬ (например,/usr/local/bin).

(Если Вы намереваетесь использовать включенные известные типы, затем не забывают копировать содержание 'включать' каталога где-нибудь также, например, в/usr/local/include/.)

3
ответ дан 23 November 2019 в 00:46

Можно загрузить двоичный файл с исходного кода и использовать следующие команды

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/, или что-либо еще в Вашем ПУТИ.

0
ответ дан 23 November 2019 в 00:46

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

1
ответ дан 17 January 2020 в 11:17

Используйте это, если у вас возникают такие ошибки, как

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, так как для этого требуется, чтобы базовые прото-файлы присутствовали в папках включения по умолчанию.

0
ответ дан 25 August 2020 в 07:31

Другие вопросы по тегам:

Похожие вопросы: