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

Ответы:

49

См. 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
Мартин Тома
источник
Те же шаги хорошо работают и для Ubuntu Trusty.
Бинита Бхарати
5
Также работает в Ubuntu 18.04
Binita Bharati
youtube.com/watch?v=EAFK-tN_yaw
Пушкардж Пуджари
шаг 4: make -jX, где X - количество ядер, которые вы должны выполнять параллельно
Омар С.
идеально подходит для Debian 10
Corrado
19
sudo apt install protobuf-compiler
Джон Кугельман поддерживает Монику
источник
В результате получается «Настройка protobuf-compiler (2.6.1-1.3)» - может быть не та версия, которую хотят все
y.selivonchyk
3

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

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

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

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

Мэтт Ке
источник
0

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

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.

y.selivonchyk
источник