Homebrew: Error: no se debe llamar directamente al informe de actualización

192

Al ejecutar brew updateme sale lo siguiente:

/usr/local/Library/brew.sh: line 32: /usr/local/Library/ENV/scm/git: No such file or directory
/usr/local/Library/brew.sh: line 32: /usr/local/Library/ENV/scm/git: No such file or directory
[etc..]
Error: update-report should not be called directly!

Llamando brew configinforma lo siguiente:

HOMEBREW_VERSION: 0.9.9
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 90e84453f9adda65de6b9274987d06e46caa5d37
Last commit: 4 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 05ce2548bad01807c6be2aece21ab70d221755e6
Core tap last commit: 8 weeks ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: quad-core 64-bit ivybridge
Homebrew Ruby: 2.0.0-p648
Clang: 7.3 build 703
Git: 2.7.0 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /Users/username/anaconda/bin/python => /Users/username/anaconda/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.7.0_79, 1.6.0_65-b14-468
OS X: 10.11.4-x86_64
Xcode: 7.3
CLT: 7.3.0.0.1.1457485338
X11: 2.7.8 => /opt/X11

¿Algúna idea de cómo arreglar esto? Me pregunto si Sophos Antivirus podría estar causando problemas nuevamente.

geoteoria
fuente
IIRC homebrew movió archivos hace un par de semanas. Para mí en realidad llama /usr/local/Library/Homebrew/brew.sh: para mí, /usr/local/Library/brew.shya no existe. ¿Quizás las cosas salieron mal en la transición?
cel

Respuestas:

210

brew upgradeactualizará todos los paquetes instalados. Si necesita mantener una versión específica de cualquier binario, considere usar la respuesta de @ thanh-hải: https://stackoverflow.com/a/38464247/868724

Acabo de recibir este error. Corrí brew upgradey luego brew updateotra vez y el problema pareció resolverse solo.

Alternativamente, intente simplemente ejecutar brew updatenuevamente como lo sugiere @ ashley-willis.

aboutaaron
fuente
77
Actualiza todos los paquetes instalados. Tengo enormes binarios, por ejemplo, Apache Spark, parece una solución extraña para mí
Ololobus
2
cd /usr/local; git reset --hard origin/master; brew update
Ayuda
12
Un desnudo brew upgradees muy peligroso si su pila de desarrollo depende de versiones específicas de paquetes (como las pilas de desarrollo no suelen hacer). Actualizará todos sus paquetes a las últimas versiones, rompiendo así cualquier cosa dependiendo de una versión anterior. Recomiendo encarecidamente evitar esta respuesta e ir con @Thanh Hải a continuación.
Peter H. Boling el
2
Agregue una advertencia de que esto actualizará TODOS los paquetes instalados.
Carl G
... lo que llevará mucho tiempo y (si está en OS X) hará que su computadora portátil se caliente como loca mientras recompila todas sus brewaplicaciones.
Matt Andrews
62

Editar: ejecutar cd "$(brew --repository)" && git fetch && git reset --hard origin/masterresolverá!

Consulte https://github.com/Homebrew/brew/issues/557

Thanh Hải
fuente
12
Esta es en realidad una respuesta mucho mejor que la respuesta aceptada. Se vincula al problema en el rastreador y funcionará en más sistemas. Además, esta respuesta funcionó para mí, para el error OP en brew v0.9.9. Además, la respuesta aceptada (con un desnudo brew upgrade) puede romper muchas cosas de las que depende el usuario. La actualización a ciegas de todos los paquetes de café puede resultar en un desastre que puede demorar horas en desenredarse. --1 para @geotheory, ¿incluso elaboras cerveza?
Peter H. Boling el
@ PeterH.Boling funcionó bien para mí, aunque las otras respuestas son mejores alternativas. No confío en mi sistema operativo de controlador diario para proporcionar versiones específicas del paquete cuando hay miles de mejores soluciones para hacer lo mismo.
ntwrkguru
@ntwrkguru: no te sigo. brew(homebrew) no forma parte del sistema operativo y, dependiendo de las herramientas que use el universo brew, actualizarlas todas puede ser desastroso para un entorno de desarrollo.
Peter H. Boling
@ PeterH. Lo que quiero decir es que, para mí, no uso lo que esté en mi Mac, ya sea a través de brew, source o Apple para el desarrollo, por lo que no me importa qué versión es un paquete de brebaje determinado. Eso es todo.
ntwrkguru
0

Encontré el mismo problema cuando intenté

brew tap homebrew/science
brew install opencv3
brew update

Sin embargo, escribiendo

brew update

De nuevo ha resuelto mi problema.

Updated 2 taps (caskroom/cask, homebrew/core).
==> Cleaning up /Library/Caches/Homebrew...
Removing: /Library/Caches/Homebrew/ant-1.9.7.yosemite.bottle.tar.gz... (5.4MB)
Removing: /Library/Caches/Homebrew/cmake-3.2.1.yosemite.bottle.1.tar.gz... (10.4MB)
Removing: /Library/Caches/Homebrew/gecode-4.3.3.yosemite.bottle.tar.gz... (2.8MB)
Removing: /Library/Caches/Homebrew/leptonica-1.71_1.yosemite.bottle.tar.gz... (1.9MB)
Removing: /Library/Caches/Homebrew/libpng-1.6.16.yosemite.bottle.tar.gz... (431.8KB)
Removing: /Library/Caches/Homebrew/libtiff-4.0.3.yosemite.bottle.tar.gz... (1MB)
Removing: /Library/Caches/Homebrew/minizinc-1.6.tar.gz... (18.2MB)
Removing: /Library/Caches/Homebrew/pkg-config-0.28.yosemite.bottle.2.tar.gz... (220.1KB)
Removing: /Library/Caches/Homebrew/tesseract-3.02.02_3.yosemite.bottle.tar.gz... (19MB)
==> Migrating /Library/Caches/Homebrew to /Users/zenglinwang/Library/Caches/Homebrew...
==> Deleting /Library/Caches/Homebrew...
Warning: Failed to delete /Library/Caches/Homebrew.
Please do so manually.
==> New / Updated / Deleted Formulae
.................
==> 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
WZL
fuente