Come posso far funzionare Homebrew sotto Mavericks?

2

Ho fatto la maggior parte del mio sviluppo POSIX su qualcosa di diverso dal mio Mac dopo l'aggiornamento da Mountain Lion a Mavericks, e quando sono tornato, Homebrew non funzionava a un livello di test del fumo. Tutte le chiamate sembravano avere una reazione allergica ai caratteri usati per identificare se un file era un tar.gz:

bash-3.2# brew install git
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require': /usr/local/Library/Homebrew/extend/pathname.rb:262: invalid multibyte escape: /^73/ (SyntaxError)
invalid multibyte escape: /^75/
invalid multibyte escape: /^\xFD7zXZ\x00/
    from     /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require'
    from /usr/local/Library/Homebrew/global.rb:1:in '<top (required)>'
    from     /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require'
    from     /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require'
    from /usr/local/bin/brew:10:in '<main>'

Ho cercato l'errore e ho trovato qualcuno che faceva una domanda simile su copyquery.com; Ho reinstallato gli strumenti da riga di comando di OS X e poi ho provato a fare una reinstallazione pulita di Homebrew. Anche quello è fallito:

...
==> Downloading and installing Homebrew...
remote: Counting objects: 162348, done.
remote: Compressing objects: 100% (45938/45938), done.
remote: Total 162348 (delta 115308), reused 162338 (delta 115300)
Receiving objects: 100% (162348/162348), 30.36 MiB | 3.31 MiB/s, done.
Resolving deltas: 100% (115308/115308), done.
From https://github.com/Homebrew/homebrew
 * [new branch]      master     -> origin/master
error: unable to unlink old 'Library/Homebrew/test/mach/a.out' (Permission denied)
error: git checkout-index: unable to create file Library/Homebrew/test/mach/fat.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/fat.dylib' (Permission denied)
error: git checkout-index: unable to create file Library/Homebrew/test/mach/i386.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/i386.dylib' (Permission denied)
error: git checkout-index: unable to create file Library/Homebrew/test/mach/x86_64.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/x86_64.dylib' (Permission denied)
Checking out files: 100% (3131/3131), done.
fatal: Could not reset index file to revision 'origin/master'.
Failed during: git reset --hard origin/master

E Homebrew non vuole essere installato come root; si bloccherà se ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" è installato come root.

Ho chiesto una volta prima se le cose andavano male come pensavo dopo che il progetto MacPorts ha sistematicamente interrotto più di quanto potesse masticare e avere una rottura (come Gentoo, ma solitamente puoi cercare messaggi di errore e trovare una soluzione di comunità Gentoo all'interno ore di qualcosa che si rompe - non così con quello che MacPorts stava masticando! ). Mi è stato detto che l'unica ragione per cui non era peggio era che MacPorts ecc. Erano disponibili e offrivano un'alternativa migliore.

In questo momento ho un Mac con OS X 10.9 Mavericks, strumenti da riga di comando installati e VMware Fusion con diverse macchine virtuali Linux pulite disponibili. Se voglio fare l'hacking di Unixy (ottenere il tutorial di AngularJS funzionante , e poi armeggiare e hackerare un gioco), cosa sono le mie opzioni live per un ambiente di sviluppo che meriti seria considerazione? Sarei triste se non potessi usare Mac OS X come Unix di un hacker, ma se il percorso critico verso la salute dello sviluppatore include qualcosa che non funziona con Mavericks, sono disposto a ingoiare l'ironia e lavorare con un Linux ambiente.

Questo potrebbe rischiare di essere una domanda soggettiva, ma dati Mavericks più qualsiasi Linux che voglio, quali sono le mie opzioni serie per armeggiare con un progetto software?

Grazie,

-

Quando ho corso "brew doctor", ho ricevuto:

Warning: An outdated version of Git was detected in your PATH.
Git 1.7.10 or newer is required to perform checkouts over HTTPS from GitHub.
Please upgrade: brew upgrade git

  ^C

Inner Sanctum ~ $ brew upgrade git
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
Error: git not installed

Sarebbe utile installare Git tramite un programma di installazione nativo?

- EDIT -

Ho provato a disinstallare completamente Homebrew seguendo le istruzioni e reinstallarlo, ma si è verificato un errore:

Inner Sanctum ~ $ rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

Inner Sanctum ~ $ sudo /usr/local/bin/uninstall-homebrew.sh 
brew update first!

Inner Sanctum ~ $ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> Downloading and installing Homebrew...
remote: Counting objects: 162492, done.
remote: Compressing objects: 100% (45968/45968), done.
remote: Total 162492 (delta 115424), reused 162478 (delta 115414)
Receiving objects: 100% (162492/162492), 30.32 MiB | 736.00 KiB/s, done.
Resolving deltas: 100% (115424/115424), done.
From https://github.com/Homebrew/homebrew
 * [new branch]      master     -> origin/master
error: unable to unlink old 'Library/Homebrew/test/mach/a.out' (Permission denied)
error: unable to create file Library/Homebrew/test/mach/fat.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/fat.dylib' (Permission denied)
error: unable to create file Library/Homebrew/test/mach/i386.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/i386.dylib' (Permission denied)
error: unable to create file Library/Homebrew/test/mach/x86_64.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/x86_64.dylib' (Permission denied)
Checking out files: 100% (3132/3132), done.
fatal: Could not reset index file to revision 'origin/master'.
Failed during: git reset --hard origin/master

Ho provato un paio di varianti e per tutto, tranne una volta, ho provato a installare i risultati di brew in errori come l'errore di autorizzazione negato sopra. Al momento ho trovato find / -name Homebrew, cancellato tutto ed eseguito il comando curl etc. da /, nel caso in cui funzioni meglio per la libreria in effetti / Library. Ora ha funzionato. Non sono sicuro di quale cambiamento abbia funzionato. Quale modifica ha funzionato?

    
posta JonathanHayward 25.03.2014 - 21:38
fonte

2 risposte

5

Vedo alcuni problemi da ciò che hai pubblicato.

error: unable to unlink old 'Library/Homebrew/test/mach/a.out' (Permission denied)

Mi sembra che tu abbia un problema di permessi, forse dalla precedente installazione di Homebrew avanzata. Devi rimuovere tutte le tracce dell'installazione precedente prima di reinstallare.

And Homebrew doesn't want to be installed as root

Perché mai vorresti installare homebrew come root? L'intero punto del progetto è mantenere l'homebrew in /usr/local in modo che non sia necessario sudo .

Warning: It appears you have MacPorts or Fink installed. Software installed with other package managers causes known problems for Homebrew.

Devi inoltre assicurarti che MacPorts sia disinstallato e che tu abbia un Fink installato . Potrebbero causare problemi con il software installato da homebrew.

Warning: An outdated version of Git was detected in your PATH. Git 1.7.10 or newer is required to perform checkouts over HTTPS from GitHub.

Questo mi indica che hai ancora una vecchia versione di Git nel tuo PATH, probabilmente installata con un altro gestore di pacchetti. OS X Mavericks viene fornito con Git versione 1.8.5.1

Qual è il risultato del comando whereis git dal terminale? usr/bin/git è l'installazione OS X di Git.

Segui le guide per rimuovere completamente le precedenti installazioni MacPorts o Fink e assicurati che le vecchie directory vengano rimosse dalla tua variabile PATH.

PS.

I'll be sad if I can't use Mac OS X as a hacker's Unix

Questo mi renderebbe triste. : (

Trovo che l'homebrew sia inestimabile e facile da lavorare. In breve, sembra che tu abbia appena installato un vecchio software (e forse directory estranee nel tuo PATH) e devi cancellarlo, controllare le tue autorizzazioni e reinstallare homebrew da zero.

    
risposta data 25.03.2014 - 23:31
fonte
1

Consiglierei di iniziare da

brew doctor

che dovrebbe indicarti potenziali problemi e ti spiega come affrontarli.

    
risposta data 25.03.2014 - 21:53
fonte

Leggi altre domande sui tag