Sto ricevendo errori quando provo a fare 'brew update'

4

Voglio installare una gemma. Le istruzioni suggeriscono strongmente che io uso Homebrew per installare le dipendenze gem. Non ho usato molto Homebrew, forse una volta anni fa. Ricordo che El Capitan l'ha già installato. Ho anche ricordato i comandi "brew doctor" e "brew update". Per prima cosa ho eseguito brew update e ho ottenuto il seguente errore:

[~]$ brew update
warning: unable to unlink CONTRIBUTING.md: Permission denied
warning: unable to unlink SUPPORTERS.md: Permission denied
fatal: cannot create directory at '.github': Permission denied
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

Non avevo idea dei dettagli di questo errore, quindi ho deciso di provare sudo brew update . Ho ricevuto il seguente errore.

[~]$ sudo brew update
sudo: /private/etc/sudoers.d is owned by uid 501, should be 0
Password:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require': cannot load such file -- mach (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /usr/local/Library/Homebrew/extend/pathname.rb:2:in '<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /usr/local/Library/Homebrew/global.rb:3:in '<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /usr/local/Library/brew.rb:15:in '<main>'

Poi ho deciso di eseguire brew doctor . Ho ricevuto il seguente errore.

[~]$ brew doctor
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require': cannot load such file -- mach (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /usr/local/Library/Homebrew/extend/pathname.rb:2:in '<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /usr/local/Library/Homebrew/global.rb:3:in '<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'
    from /usr/local/Library/brew.rb:15:in '<main>'

Suppongo che la versione 2.0.0 di Ruby sia la versione di Ruby che il mio Mac Mini Server utilizza per il sistema operativo. Sto usando una versione più recente di Ruby con Ruby Version Manager per le mie applicazioni Ruby on Rails.

L'ultima volta che ho usato Homebrew era o con Mavericks o Mountain Lion. Non ho idea di dove andare da qui per risolvere questo problema. Nessuno della documentazione che ho trovato online affronta questo specifico errore.

    
posta Pamela Cook - LightBe Corp 21.03.2016 - 23:45
fonte

4 risposte

1

Perché non creare un elenco delle cose che potresti aver installato:

 brew list

Quindi fai un backup (per ogni evenienza). Quindi disinstalla homebrew e probabilmente tutto il resto in / usr / local per ottenere una pulizia installare e un inizio pulito?

risposta data 21.03.2016 - 23:58
fonte
4

Ho problemi simili e la mia ricerca suggerisce di reimpostare la versione locale del repo della birra:

cd $(brew --prefix) && git fetch && git reset --hard origin/master

Sto per provare da solo.

    
risposta data 31.03.2016 - 21:20
fonte
3

Come menzionato qui: link

Ciò che ha funzionato per me dato tutti gli errori è stato

sudo chown -R $(whoami):admin /usr/local
cd $(brew --prefix) && git fetch origin && git reset --hard origin/master

Quindi potrei eseguire nuovamente i comandi brew, come brew update e brew upgrade . (E come alternativa a brew list se non funzionasse e volessi solo una lista veloce, puoi ottenere una lista grezza semplicemente facendo ls -l cd $(brew --prefix)/Cellar )

    
risposta data 11.04.2016 - 07:22
fonte
3

Compilare la risposta precedente, eseguire quanto segue:

sudo chown $(whoami):admin /usr/local
cd $(brew --prefix) && git fetch origin && git reset --hard origin/master
brew update

L'ho appena eseguito su El Capitan 10.11.6 e l'aggiornamento è terminato con il messaggio:

==> Migrating HOMEBREW_REPOSITORY (please wait)...
==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!
Homebrew no longer needs to have ownership of /usr/local. If you wish you can
return /usr/local to its default ownership with:

sudo chown root:wheel /usr/local

Se lo vedi, esegui il comando per restituire correttamente la modifica del permesso che hai apportato all'inizio alla normalità.

    
risposta data 02.11.2016 - 04:38
fonte

Leggi altre domande sui tag