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

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

2 ответа

Решение

См. 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
sudo apt install protobuf-compiler

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

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

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

(Если вы намереваетесь использовать включенные хорошо известные типы, не забудьте также скопировать содержимое каталога "include", например, в / 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/, или что-нибудь еще в вашем PATH.

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

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

1) Загрузите двоичный файл с URL-адреса https://github.com/protocolbuffers/protobuf/releases

2) извлеките и сохраните каталог в определенном месте (/ user / app / protoc)

3) добавьте запись в /usr//.bash_profile как export PROTOC_HOME=/user/app/protoc export 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

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