Я хотел бы установить старую версию Google Protocol Buffers (protobuf-2.4.1) на Mac с помощью командной строки терминала. Я пробовал с brew install protobuf
, но установлена последняя версия 2.5.0. Можно ли установить старую версию с терминала.
Спасибо
protocol-buffers
homebrew
информатик
источник
источник
.pb.h
и.pb.cc
файлы.Ответы:
При сборке protobuf 2.4.1 из исходников на Mac возникают некоторые проблемы. Есть патч, который тоже нужно применить. Все это содержится в формуле homebrew protobuf241, поэтому я бы посоветовал ее использовать.
Чтобы установить буфер протокола версии 2.4.1, введите в терминал следующее:
Если у вас уже есть версия буфера протокола, которую вы пытались установить из исходного кода, вы можете ввести в терминал следующее, чтобы исходный код был перезаписан версией homebrew:
Убедитесь, что у вас установлена правильная версия, набрав:
Он должен отобразить 2.4.1
источник
Warning: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated.
Это не через заваривание, но конечный результат тот же.
Шаги 4-7 взяты из файла README.txt из архива protobuf.
источник
/protobuf/src/README.md
, я бы хотел, чтобы она былаREADME.md
в/protobuf
каталогеНаступил новый год, и есть новое несоответствие между версией
protobuf
в Homebrew и новейшей версией. По состоянию на февраль 2016 годаbrew install protobuf
вы получите версию 2.6.1.Если вместо этого вам нужна бета-версия 3.0, вы можете установить ее с помощью:
источник
Если вы попали сюда, чтобы узнать, как установить протокол буферов на Mac, это можно сделать с помощью Homebrew, выполнив команду ниже
Он устанавливает последнюю доступную версию protobuf. Для меня, на момент написания, это установило v3.7.1
Если вы хотите установить более старую версию, найдите доступные на странице пакета Protobuf Package - Homebrew и установите эту конкретную версию пакета.
Самая старая доступная версия protobuf в этом пакете - v3.6.1.3.
источник
С https://github.com/paulirish/homebrew-versions-1 . Работает для меня!
источник
По какой-то причине мне нужно использовать protobuf 2.4.1 в моем проекте на OS X El Capitan. Однако homebrew удалил protobuf241 из своей формулы. Я устанавливаю его в соответствии с ответом @kksensei вручную и должен исправить некоторую ошибку в процессе.
Во время процесса make я получаю 3 ошибки, например:
(Извините, я не знаю, как прикрепить код, если код содержит '' ')
Если вы получите ту же ошибку, отредактируйте src / google / protobuf / message.cc, добавьте
#include <istream>
в начало файла и$ make
повторите попытку, ошибок не должно быть. После этого сделайте$ sudo make install
. По окончании установки$protoc --version
должен отображаться правильный результат.источник
Я использовал macports
источник
Если он сообщает вам, что «protobuf-2.6.1 уже установлен»: 1.
brew uninstall --devel protobuf
2.brew link libtool
3.brew install --devel protobuf
источник
FWIW., Последняя версия brew находится на protobuf 3.0 и не включает никаких формул для более старых версий. Это несколько «неудобно».
Хотя protobuf может быть совместим на уровне проводов, он абсолютно несовместим на уровне сгенерированных классов java: вы не можете использовать файлы .class, созданные с помощью protoc 2.4 с JAR-файлом protobuf-2.5 и т. Д. И т. Д. Вот почему обновление Версии protobuf - это такая деликатная тема в стеке Hadoop: она неизменно требует координации между различными проектами и достаточно травматична, чтобы никому это не нравилось.
источник
Для установки Protocol Buffer (с сегодняшней версии v3.7.0)
загрузите zip-файл в соответствии с вашей ОС (например, protoc-3.7.0-osx-x86_64.zip). Это касается и других ОС.
Переместите исполняемый файл в protoc-3 / bin / protoc в один из ваших каталогов в PATH. В Mac я предлагаю поместить его в / usr / local / bin
Теперь тебе хорошо
(необязательно) Существует также включаемый файл, который вы можете добавить. Это фрагмент файла README.md
источник
Есть еще один официальный способ от Google, о котором упоминал другой пользователь.
Перед попыткой прочтите его полностью.
Вот шаги:
Откройте терминал и введите следующее
PROTOC_ZIP=protoc-3.7.1-osx-x86_64.zip
curl -OL https://github.com/google/protobuf/releases/download/v3.7.1/$PROTOC_ZIP
sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
rm -f $PROTOC_ZIP
Работал у меня.
PS
Это только для версии 3.7.1 в osx. Если вы хотите установить другую версию / платформу, перейдите по ссылке на выпуски, ознакомьтесь с подробностями последней версии и используйте эту информацию. Ссылка
источник
вы можете установить со страницы официальной ссылки, предоставленной google http://google.github.io/proto-lens/installing-protoc.html
источник
Для пользователей v3.
http://google.github.io/proto-lens/installing-protoc.html
источник
Версии HomeBrew были удалены, а рецепты опустошены. Поэтому я советую установить его вручную, выполнив следующие действия.
В настоящее время вам нужно будет собрать и установить набор инструментов Protocol Buffers вручную.
Загрузите исходный код: https://github.com/google/protobuf/releases/download/v2.4.1/protobuf-2.4.1.tar.gz
tar xvfz protobuf-2.4.1.tar.gz
cd protobuf-2.4.1
Бегать
./configure
Отредактируйте src / google / protobuf / message.cc, добавьте #include вверху файла
Запустить
make
команду из корня папки, т.е. protobuf-2.4.1 /Бегать
sudo make install
Запустите,
/usr/local/bin/protoc --version
чтобы проверить версию версии компилятора protobuf. Вывод терминала должен быть:Version: libprotoc 2.4.1
источник