Как я могу установить 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
Монтаж
- С этой страницы загрузите
protobuf-all-[VERSION].tar.gz
, - Извлеките содержимое и измените в каталоге
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.
Проверьте, работает ли это
$ protoc --version
libprotoc 3.6.1
Если вы не являетесь пользователем 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