Otázka:
Jak mám opravit instalaci Homebrew po upgradu OS X?
Geoff Oxberry
2013-02-09 00:24:04 UTC
view on stackexchange narkive permalink

Context

Můj zaměstnavatel mi dal MacBook Pro pro vývojové práce; většina vývojových prací, které ve své výzkumné skupině dělám, je však pro platformy Linux a z mnoha důvodů zásad nemohu na tento notebook nainstalovat virtualizační software. Homebrew vypadá jako dobrý způsob, jak nainstalovat tyto nástroje, zejména proto, že vypadá velmi hacknutelně (protože používá Ruby; MacPorts nevypadá hackersky, protože používá Tcl). Homebrew však spoléhá na systémové knihovny a z bezpečnostních důvodů může můj zaměstnavatel (a podle toho, co slyším, často) můj systém kdykoli upgradovat. Slyšel jsem, že upgrady OS X Homebrew rozbijí. (Viz například https://stackoverflow.com/questions/7779300/how-should-i-upgrade-xcode-after-upgrading-to-os-x-lion).

Otázka

Jak bych postupoval při opravě instalace Homebrew po upgradu na OS X? Jsem v pořádku, když ji odstraním a začnu znovu od nuly, pokud to mohu udělat automatizovaným způsobem. (Například použití Puppet plus poskytovatele Homebrew ke skriptu konfigurace, která se automaticky vytvoří po spuštění skriptu prostředí.) Googloval jsem všude a zdá se, že na tuto otázku nenajdu žádné odpovědi.

Dva odpovědi:
Gaurav Agarwal
2013-02-09 00:29:02 UTC
view on stackexchange narkive permalink
  brew update  

Aktualizuje instalaci Homebrew. Pokud se vyskytnou nějaké chyby, měl by je nahlásit brew doctor . Zkuste je opravit jinde, odinstalační skript můžete použít následovně:

  #! / Bin / sh # Jednoduše zkopírujte a vložte níže uvedené řádky (najednou to nebude fungovat řádek!) # PŘESVĚDČTE SE, ŽE JSTE ŠTĚSTÍ, CO TO PRVNÍ! NENÍ ŽÁDNÁ ZÁRUKA! Funkce přeruší {echo "$ 1" exit 1} set -e / usr / bin / which -s git || zrušte „brew install git first!“ test -d /usr/local/.git || zrušit „nejdříve provést aktualizaci!“ cd `brew --prefix`git pokladna mastergit ls-soubory -z | pbcopyrm -rf Cellarbin / brew prunepbpaste | xargs -0 rmrm -r Library / Homebrew Library / Aliases Library / Formula Library / Contributionstest -d Library / LinkedKegs && rm -r Library / LinkedKegsrmdir -p bin Library share / man / man1 2> / dev / nullrm -rf. ~ / Library / Caches / Homebrewrm -rf ~ / Library / Logs / Homebrewrm -rf / Library / Caches / Homebrew  

A znovu nainstalujte homebrew. Jsem si docela jistý, že je to všechno konfigurovatelné pomocí loutky.

sventechie
2014-03-05 23:45:25 UTC
view on stackexchange narkive permalink

Myslím, že by vás možná zajímalo, zda je třeba znovu sestavit všechny balíčky , než jen odinstalovat. Pokud tomu tak je, chápu, že to obecně není problém, jak říká tato odpověď.

Měl jsem problémy, zejména při přechodu na OS X Mavericks a Xcode 5 Musel jsem znovu propojit všechny balíčky, které jsem nainstaloval - tady je můj skript:

  #! / Bin / bashFORMULAS = (`brew list`); for FORMULA in" $ {FORMULAS [ @]} "do echo" brew unlink $ FORMULA "&& echo" brew link $ FORMULA "; OUTPUT = `brew unlink $ FORMULA`; echo $ VÝSTUP; OUTPUT = `brew link $ FORMULA`; echo $ OUTPUT; hotovo  

Všimněte si výstupu, některé vzorce budou vyžadovat --force pro krok link .

Pokud to stále nefunguje, zkuste tuto řadu příkazů od Mikea McQuaida:

  brew list > brew-list.txtbrew odinstalovat $ (cat brew- list.txt) brew install $ (cat brew-list.txt)  

V HomeBrew je nyní příkaz rebuild , který ale aktuálně nevyřeší závislosti.

Provedl jsem čistou instalaci Mavericks na můj nový Mac a poté jsem obnovil zálohu Time Machine z mých ostatních Mac. Počítač nechal vše nainstalované, včetně Homebrew a jeho vzorců, ale všechny byly odpojeny. Použil jsem skript k opětovnému propojení všech vzorců najednou a opravil to! Funguje jako kouzlo, díky.
V souvisejícím problému jsem musel odepnout / klepnout na všechna kohoutky, jinak by brew nenašel nějaké vzorce, i když tvrdil, že správné klepnutí již bylo využito. `pro výdej v $ (brew brew); uvařte untap "$ tap"; brew tap „$ tap“; hotovo


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...