Chciałbym zainstalować starszą wersję buforów protokołów Google (protobuf-2.4.1) na komputerze Mac za pomocą wiersza poleceń terminala. Próbowałem z brew install protobuf
, ale najnowsza wersja 2.5.0 została zainstalowana. Czy można zainstalować starszą wersję z terminala.
Dzięki
protocol-buffers
homebrew
informatiker
źródło
źródło
.pb.h
i.pb.cc
.Odpowiedzi:
Istnieją pewne problemy z budowaniem protobuf 2.4.1 ze źródeł na komputerze Mac. Jest łatka, którą również należy nałożyć. Wszystko to zawarte jest w formule protobuf241 homebrew, więc radziłbym go używać.
Aby zainstalować bufor protokołu w wersji 2.4.1, wpisz w terminalu:
Jeśli masz już wersję bufora protokołu, którą próbowałeś zainstalować ze źródła, możesz wpisać następujące polecenie w terminalu, aby kod źródłowy został nadpisany przez wersję homebrew:
Sprawdź, czy masz teraz zainstalowaną poprawną wersję, wpisując:
Powinien wyświetlić 2.4.1
źródło
Warning: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated.
To nie jest napar, ale efekt końcowy jest taki sam.
Kroki 4-7 pochodzą z pliku README.txt z tarballa protobuf.
źródło
/protobuf/src/README.md
, życzę było wREADME.md
w/protobuf
kataloguJest nowy rok i pojawia się nowa niezgodność między wersją
protobuf
w Homebrew a najnowszą wersją. Od lutego 2016 rbrew install protobuf
. Udostępniamy wersję 2.6.1.Jeśli zamiast tego chcesz wersję beta 3.0, możesz zainstalować ją za pomocą:
źródło
Jeśli wylądowałeś tutaj, szukając sposobu zainstalowania buforów protokołów na komputerze Mac, można to zrobić za pomocą Homebrew, uruchamiając poniższe polecenie
Instaluje najnowszą dostępną wersję protobuf. Dla mnie, w momencie pisania tego tekstu , zainstalowałem v3.7.1
Jeśli chcesz zainstalować starszą wersję, wyszukaj dostępne wersje na stronie pakietu Protobuf Package - Homebrew i zainstaluj tę konkretną wersję pakietu.
Najstarszą dostępną wersją protobuf w tym pakiecie jest 3.6.1.3
źródło
Od https://github.com/paulirish/homebrew-versions-1 . Pracuje dla mnie!
źródło
Z jakiegoś powodu muszę używać protobuf 2.4.1 w moim projekcie na OS X El Capitan. Jednak homebrew usunął protobuf241 ze swojej formuły. Instaluję go zgodnie z odpowiedzią @ kksensei ręcznie i muszę naprawić jakiś błąd podczas procesu.
Podczas procesu tworzenia otrzymuję 3 błędy, takie jak:
(Przepraszam, nie wiem, jak dołączyć kod, gdy kod zawiera '' '')
Jeśli napotkasz ten sam błąd, edytuj src / google / protobuf / message.cc, dodaj
#include <istream>
na początku pliku i zrób to$ make
ponownie. Nie powinno pojawić się żadnych błędów. Po tym zrób$ sudo make install
. Po zakończeniu instalacji$protoc --version
powinien wyświetlić prawidłowy wynik.źródło
Użyłem macports
źródło
Jeśli powie Ci, że „protobuf-2.6.1 jest już zainstalowany”: 1.
brew uninstall --devel protobuf
2.brew link libtool
3.brew install --devel protobuf
źródło
FWIW., Najnowsza wersja brew to protobuf 3.0 i nie zawiera żadnych formuł dla starszych wersji. Jest to nieco „niewygodne”.
Chociaż protobuf może być kompatybilny na poziomie wire, to jest absolutnie niekompatybilny na poziomie generowanych klas java: nie możesz używać plików .class wygenerowanych za pomocą protokołu 2.4 z protokołem protobuf-2.5 JAR itp. Itd. Dlatego właśnie aktualizowanie wersje protobuf to tak delikatny temat w stosie Hadoop: niezmiennie wymaga koordynacji między różnymi projektami i jest na tyle traumatyczny, że nikt nie lubi tego robić.
źródło
Aby zainstalować Protocol Buffer (od dzisiejszej wersji v3.7.0)
pobierz plik zip zgodnie z Twoim systemem operacyjnym (np .: protoc-3.7.0-osx-x86_64.zip). Dotyczy to również innych systemów operacyjnych.
Przenieś plik wykonywalny w protokole protoc-3 / bin / protoc do jednego z katalogów w PATH. W Mac sugeruję umieścić go w / usr / local / bin
Teraz możesz iść 💪🏾
(opcjonalnie) Istnieje również plik dołączania, który możesz dodać. To jest fragment pliku README.md
źródło
Istnieje inny oficjalny sposób Google, o którym wspomniał inny użytkownik.
Przeczytaj go w pełni, zanim spróbujesz.
Oto kroki:
Otwórz Terminal i wpisz następujące polecenie
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
Pracował dla mnie.
PS
Dotyczy tylko wersji 3.7.1 w systemie OSX. Jeśli chcesz zainstalować inną wersję / platformę, odwiedź łącze do wersji, sprawdź szczegóły najnowszej wersji i skorzystaj z tych informacji. Odniesienie
źródło
możesz zainstalować z oficjalnej strony linku dostarczonej przez google http://google.github.io/proto-lens/installing-protoc.html
źródło
Dla użytkowników v3.
http://google.github.io/proto-lens/installing-protoc.html
źródło
Wersje HomeBrew zostały usunięte, a formuły opróżnione. Dlatego radzę zainstalować go ręcznie, wykonując następujące kroki.
Na razie będziesz musiał ręcznie zbudować i zainstalować zestaw narzędzi Protocol Buffers.
Pobierz kod źródłowy: 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
Biegać
./configure
Edytuj src / google / protobuf / message.cc, dodaj #include na górze pliku
Uruchom
make
polecenie z katalogu głównego folderu, tj. Protobuf-2.4.1 /Biegać
sudo make install
Uruchom,
/usr/local/bin/protoc --version
aby sprawdzić wersję kompilatora protobuf. Wyjście terminala powinno wyglądać następująco:Version: libprotoc 2.4.1
źródło