de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 Gravis
Gravis
Question

Homebrew instaluje określoną wersję formuły?

Jak mogę zainstalować określoną wersję formuły w homebrew? Na przykład, postgresql-8.4.4 zamiast najnowszej 9.0.

2061 2010-10-21T12:58:19+00:00 3
Jay P.
Jay P.
Edytowane pytanie 17. czerwca 2015 в 4:29
Programowanie
versioning
installation
homebrew
Popular videos
Homebrew install specific version of formula
Homebrew install specific version of formula
3 lata temu
How to Install older version of a Package Homebrew formula
How to Install older version of a Package Homebrew formula
3 lata temu
How to solve the homebrew installation problem "Zsh: command not found - brew"
How to solve the homebrew installation problem "Zsh: command not found - brew"
1 rok temu
How To Install Homebrew On Mac OS X & Getting Started Using Homebrew | Homebrew Commands
How To Install Homebrew On Mac OS X & Getting Started Using Homebrew | Homebrew Commands
3 lata temu
Установка программ через Homebrew в Terminal (МакЛикбез)
Установка программ через Homebrew в Terminal (МакЛикбез)
3 lata temu
How to Homebrew Downgrade to a Previously installed Brew Formula
How to Homebrew Downgrade to a Previously installed Brew Formula
3 lata temu
Creating Personal Homebrew Tap/Formula (OSX)
Creating Personal Homebrew Tap/Formula (OSX)
6 lat temu
How to Install and Uninstall Homebrew on macOS devices | macOS Catalina
How to Install and Uninstall Homebrew on macOS devices | macOS Catalina
1 rok temu
Homebrew Mac 2020 Tutorial - Install Software on your Mac EASILY!
Homebrew Mac 2020 Tutorial - Install Software on your Mac EASILY!
1 rok temu
Homebrew Installation Tutorial (for eventually installing Python)
Homebrew Installation Tutorial (for eventually installing Python)
1 rok temu
Homebrew your own steroid(Equipments needed)
Homebrew your own steroid(Equipments needed)
5 lat temu
How to Install Homebrew on Apple M1 Macs
How to Install Homebrew on Apple M1 Macs
1 rok temu
Homebrew Tutorial: Simplify Software Installation on Mac Using This Package Manager
Homebrew Tutorial: Simplify Software Installation on Mac Using This Package Manager
3 lata temu
How to Install Homebrew on Mac OS X + Getting Started with Homebrew
How to Install Homebrew on Mac OS X + Getting Started with Homebrew
4 lata temu
Tools of The Trade - Ep 03:  Homebrew Cask
Tools of The Trade - Ep 03: Homebrew Cask
5 lat temu
How To Homebrew TESTOSTERONE To Make DESIGNER ANABOLICS
How To Homebrew TESTOSTERONE To Make DESIGNER ANABOLICS
6 miesięcy temu
PREMADE vs HOMEBREW: Total Price Of A BEGINNER $TEROID CYCLE
PREMADE vs HOMEBREW: Total Price Of A BEGINNER $TEROID CYCLE
1 rok temu
How To Install HomeBrew Browser On Wii 4.3 [Latest Update + Fix] 2017!
How To Install HomeBrew Browser On Wii 4.3 [Latest Update + Fix] 2017!
4 lata temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
 Debilski
Debilski
11. listopada 2010 в 8:04
2010-11-11T20:04:23+00:00
Więcej
Źródło
Edytuj
#11217101

TLDR: brew install [email protected] Zobacz odpowiedź poniżej po więcej szczegółów.


(Przeedytowałem moją odpowiedź, aby dać bardziej dokładny przepływ pracy dla instalacji/używania starszych wersji oprogramowania z homebrew. Nie krępuj się dodać notatki, jeśli znalazłeś starą wersję lepszą.*) Zacznijmy od najprostszego przypadku:

  1. Sprawdź, czy dana wersja jest już zainstalowana (ale nie aktywowana)

    Kiedy homebrew instaluje nową formułę, umieszcza ją w katalogu z wersją, takim jak /usr/local/Cellar/postgresql/9.3.1. Tylko dowiązania symboliczne do tego katalogu są następnie instalowane globalnie. W zasadzie, to sprawia, że całkiem łatwo jest przełączać się pomiędzy dwoma zainstalowanymi wersjami. (*) Jeśli używasz homebrew od dłuższego czasu i nigdy nie usunąłeś starszych wersji (używając na przykład brew cleanup), istnieje prawdopodobieństwo, że jakaś starsza wersja twojego programu może wciąż istnieć. Jeśli chcesz po prostu aktywować tę poprzednią wersję, brew switch jest najprostszym sposobem aby to zrobić. Sprawdź za pomocą brew info postgresql (lub brew switch postgresql <TAB>) czy starsza wersja jest zainstalowana:

$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M)
  Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more

Widzimy, że jakaś starsza wersja jest już zainstalowana. Możemy ją aktywować za pomocą brew switch:

$ brew switch postgresql 9.1.5
Cleaning /usr/local/Cellar/postgresql/9.1.5
Cleaning /usr/local/Cellar/postgresql/9.3.2
384 links created for /usr/local/Cellar/postgresql/9.1.5

Sprawdźmy dwukrotnie co jest aktywowane:

$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M) *
  Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M)
  Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more

Zauważ, że gwiazdka * została przeniesiona na nowo aktywowaną wersję () Proszę zauważyć, że brew switch działa tylko tak długo jak wszystkie zależności starszej wersji są nadal dostępne. W niektórych przypadkach, przebudowa starszej wersji może być konieczna. Dlatego użycie brew switch jest przydatne głównie wtedy, gdy chcemy przełączyć się pomiędzy dwoma wersjami, które nie są zbyt odległe od siebie. 2) Sprawdź, czy dana wersja jest dostępna jako tap

Szczególnie w przypadku większych projektów programistycznych, jest bardzo prawdopodobne, że istnieje wystarczająco duże zapotrzebowanie na kilka (potencjalnie niekompatybilnych API) głównych wersji danego oprogramowania. Od marca 2012, Homebrew 0.9 dostarcza mechanizm do tego: brew tap & repozytorium homebrew versions. To repozytorium wersji może zawierać backporty starszych wersji dla kilku formuł. (Głównie tylko tych dużych i znanych, ale oczywiście będą one miały również kilka formuł dla postgresql). brew search postgresql pokaże ci, gdzie szukać:

$ brew search postgresql
postgresql
homebrew/versions/postgresql8    homebrew/versions/postgresql91
homebrew/versions/postgresql9    homebrew/versions/postgresql92

Możemy go po prostu zainstalować wpisując

$ brew install homebrew/versions/postgresql8
Cloning into '/usr/local/Library/Taps/homebrew-versions'...
remote: Counting objects: 1563, done.
remote: Compressing objects: 100% (943/943), done.
remote: Total 1563 (delta 864), reused 1272 (delta 620)
Receiving objects: 100% (1563/1563), 422.83 KiB | 339.00 KiB/s, done.
Resolving deltas: 100% (864/864), done.
Checking connectivity... done.
Tapped 125 formula
==> Downloading http://ftp.postgresql.org/pub/source/v8.4.19/postgresql-8.4.19.tar.bz2
# …

Zauważ, że to automatycznie zatrzymało kran homebrew/versions. (Sprawdź za pomocą brew tap, usuń za pomocą brew untap homebrew/versions.) Następujące rozwiązanie byłoby równoważne:

$ brew tap homebrew/versions
$ brew install postgresql8

Tak długo, jak formuły wersji backportowanych pozostają aktualne, to podejście jest prawdopodobnie najlepszym sposobem radzenia sobie ze starszym oprogramowaniem. 3) Wypróbuj jakąś formułę z przeszłości

Poniższe podejścia są wymienione głównie dla kompletności. Oba próbują wskrzesić jakąś nieumarłą formułę z repozytorium browaru. Ze względu na zmienione zależności, zmiany API w specyfikacji formuły lub po prostu zmiany w adresie URL pobierania, rzeczy mogą lub nie mogą działać. Ponieważ cały katalog formuły jest repozytorium git, można zainstalować konkretne wersje używając zwykłych komend git. Musimy jednak znaleźć sposób, aby dostać się do commitu, w którym była dostępna stara wersja. a) czasy historyczne Pomiędzy sierpniem 2011 a październikiem 2014, homebrew posiadało komendę brew versions, która wypluwała wszystkie dostępne wersje wraz z ich odpowiednimi hashami SHA. Od października 2014 roku, musisz wykonać brew tap homebrew/boneyard zanim będziesz mógł go użyć. Jak sugeruje nazwa kranu, prawdopodobnie powinieneś to zrobić tylko w ostateczności. Np.

$ brew versions postgresql
Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
  https://github.com/Homebrew/homebrew-versions
9.3.2    git checkout 3c86d2b Library/Formula/postgresql.rb
9.3.1    git checkout a267a3e Library/Formula/postgresql.rb
9.3.0    git checkout ae59e09 Library/Formula/postgresql.rb
9.2.4    git checkout e3ac215 Library/Formula/postgresql.rb
9.2.3    git checkout c80b37c Library/Formula/postgresql.rb
9.2.2    git checkout 9076baa Library/Formula/postgresql.rb
9.2.1    git checkout 5825f62 Library/Formula/postgresql.rb
9.2.0    git checkout 2f6cbc6 Library/Formula/postgresql.rb
9.1.5    git checkout 6b8d25f Library/Formula/postgresql.rb
9.1.4    git checkout c40c7bf Library/Formula/postgresql.rb
9.1.3    git checkout 05c7954 Library/Formula/postgresql.rb
9.1.2    git checkout dfcc838 Library/Formula/postgresql.rb
9.1.1    git checkout 4ef8fb0 Library/Formula/postgresql.rb
9.0.4    git checkout 2accac4 Library/Formula/postgresql.rb
9.0.3    git checkout b782d9d Library/Formula/postgresql.rb

Jak widać, odradza jego użycie. Homebrew wypluwa wszystkie wersje, które może znaleźć za pomocą swojej wewnętrznej heurystyki i pokazuje sposób na odzyskanie starych formuł. Wypróbujmy to.

# First, go to the homebrew base directory
$ cd $( brew --prefix )
# Checkout some old formula
$ git checkout 6b8d25f Library/Formula/postgresql.rb
$ brew install postgresql
# … installing

Teraz, gdy starsza wersja postgresql jest zainstalowana, możemy ponownie zainstalować najnowszą formułę, aby utrzymać nasze repozytorium w czystości:

$ git checkout -- Library/Formula/postgresql.rb

brew switch jest twoim przyjacielem do zmiany pomiędzy starą i nową wersją. b) czasy prehistoryczne Dla specjalnych potrzeb, możemy również spróbować własnego kopania przez homebrew repo.

$ cd Library/Taps/homebrew/homebrew-core && git log -S'8.4.4' -- Formula/postgresql.rb

git log -S szuka wszystkich commitów, w których ciąg '8.4.4' został dodany lub usunięty w pliku Library/Taps/homebrew/homebrew-core/Formula/postgresql.rb. W wyniku tego otrzymujemy dwa commity.

commit 7dc7ccef9e1ab7d2fc351d7935c96a0e0b031552
Author: Aku Kotkavuo
Date:   Sun Sep 19 18:03:41 2010 +0300

    Update PostgreSQL to 9.0.0.

    Signed-off-by: Adam Vandenberg

commit fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
Author: David Höppner
Date:   Sun May 16 12:35:18 2010 +0200

    postgresql: update version to 8.4.4

Oczywiście, fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422 jest commitem, który nas interesuje. Ponieważ ten commit jest dość stary, postaramy się zaktualizować całą instalację homebrew (w ten sposób API formuły będzie mniej więcej gwarantowane, że jest ważne):

$ git checkout -b postgresql-8.4.4 fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
$ brew install postgresql
$ git checkout master
$ git branch -d postgresql-8.4.4

Możesz pominąć ostatnie polecenie, aby zachować odniesienie w swoim repozytorium git. Jedna uwaga: sprawdzając starszy commit, tymczasowo obniżasz jakość swojej instalacji homebrew. Więc powinieneś być ostrożny, ponieważ niektóre polecenia w homebrew mogą się różnić od najnowszej wersji. 4) Ręcznie napisz formułę

Nie jest to zbyt trudne, a następnie możesz przesłać ją do własnego repozytorium. Kiedyś było to Homebrew-Versions, ale teraz nie jest już używane. A.) Bonus: Przypinanie

Jeśli chcesz zachować pewną wersję, na przykład postgresql, i nie dopuścić do jej uaktualnienia, gdy wykonujesz naturalną procedurę brew update; brew upgrade, możesz przypiąć formułę:

$ brew pin postgresql

Przypięte formuły są wymienione w /usr/local/Library/PinnedKegs/ i kiedy chcesz wprowadzić najnowsze zmiany i aktualizacje, możesz unpin go ponownie:

$ brew unpin postgresql
 laurent
laurent
Edytowana odpowiedź 21. czerwca 2019 в 3:13
GitHub - Homebrew/legacy-homebrew: 💀 The former home of Homebrew/homebrew (deprecated)
💀 The former home of Homebrew/homebrew (deprecated) - GitHub - Homebrew/legacy-homebrew: 💀 The former home of Homebrew/homebrew (deprecated)
github.com
How to Create and Maintain a Tap — Homebrew Documentation
Documentation for the missing package manager for macOS.
docs.brew.sh
Versions — Homebrew Documentation
Documentation for the missing package manager for macOS.
docs.brew.sh
2410
0
 halfcube
halfcube
19. września 2011 в 11:55
2011-09-19T11:55:43+00:00
Więcej
Źródło
Edytuj
#11217103

Ja'e odkryłem lepsze alternatywne rozwi&#261zanie, ni&#380 inne skomplikowane rozwi&#261zania.

brew install https://raw.github.com/Homebrew/homebrew-versions/master/postgresql8.rb

Spowoduje to pobranie i zainstalowanie PostgreSQL 8.4.8


Znalazłem to rozwiązanie, zaczynając wykonywać kroki wyszukiwania repo i komentarz w repo .

Po małych badaniach znalazłem, że ktoś ma kolekcję rzadkich formularzy do warzenia się z.


Jeśli szukasz MySQL 5.1.x, spróbuj tego.

brew install https://raw.github.com/Homebrew/homebrew-versions/master/mysql51.rb
Arslan Ali
Arslan Ali
Edytowana odpowiedź 18. stycznia 2016 в 10:47
upgrade to mysql 5.5.10 · Homebrew/[email protected] · GitHub
💀 The former home of Homebrew/homebrew (deprecated) - upgrade to mysql 5.5.10 · Homebrew/[email protected]
github.com
106
0
 mmrs151
mmrs151
13. lipca 2011 в 4:30
2011-07-13T16:30:50+00:00
Więcej
Źródło
Edytuj
#11217102

Aktualizacja w Library/Formula/postgresql.rb linia 8 do

http://ftp2.uk.postgresql.org/sites/ftp.postgresql.org/source/v8.4.6/postgresql-8.4.6.tar.bz2

I MD5 w linii 9 do

fcc3daaf2292fa6bf1185ec45e512db6

Zapisz i wyjdź.

brew install postgres
initdb /usr/local/var/postgres

Teraz na tym etapie możesz napotkać błąd postgresql could not create shared memory segment, aby to obejść zaktualizuj /etc/sysctl.conf w ten sposób:

kern.sysv.shmall=65536
kern.sysv.shmmax=16777216

Spróbuj initdb /usr/local/var/postgres ponownie, i powinno działać gładko.

Aby uruchomić postgresql przy starcie

launchctl load -w /usr/local/Cellar/postgresql/8.4.6/org.postgresql.postgres.plist

Mam nadzieję, że to pomoże :)

1
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Jasur Fozilov
Zarejestrowany 9 godzin temu
2
Zuxriddin Muydinov
Zarejestrowany 1 dzień temu
3
Денис Анненский
Zarejestrowany 3 dni temu
4
365
Zarejestrowany 1 tydzień temu
5
True Image
Zarejestrowany 1 tydzień temu
DA
DE
EL
ES
FR
ID
IT
JA
KO
LT
NL
PL
PT
RU
SK
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem