Homebrew: Błąd: raportu aktualizacji nie należy wywoływać bezpośrednio

192

Z biegiem brew updateotrzymuję:

/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!

Dzwonienie brew configzgłasza:

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

Jakiś pomysł jak to naprawić? Zastanawiam się, czy Sophos Antivirus może znowu powodować problemy ...

geotheory
źródło
Homebrew IIRC przeniosło pliki kilka tygodni temu. Dla mnie to rzeczywiście wzywa /usr/local/Library/Homebrew/brew.sh- Dla mnie /usr/local/Library/brew.shjuż nie istnieje. Może coś poszło nie tak podczas przejścia?
cel

Odpowiedzi:

210

brew upgradezaktualizuje wszystkie zainstalowane pakiety. Jeśli chcesz zachować określoną wersję dowolnego pliku binarnego, rozważ użycie odpowiedzi @ thanh-hải: https://stackoverflow.com/a/38464247/868724

Właśnie dostałem ten błąd. Pobiegłem, brew upgradea potem brew updateznowu i problem sam się rozwiązał.

Alternatywnie spróbuj brew updateponownie uruchomić zgodnie z sugestią @ ashley-willis.

aboutaaron
źródło
7
Uaktualnia wszystkie zainstalowane pakiety. Mam ogromne binarne, np. Apache Spark, dla mnie wygląda to dziwne rozwiązanie
ololobus,
2
cd /usr/local; git reset --hard origin/master; brew updatePrzypadkowo pomógł
ololobus,
12
Naga brew upgradejest bardzo niebezpieczna, jeśli Twój stos deweloperów zależy od konkretnych wersji pakietów (ponieważ stosy deweloperów zwykle nie są dostępne). Uaktualni wszystkie twoje pakiety do najnowszych wersji, niszcząc wszystko w zależności od starszej wersji. Zdecydowanie zalecamy unikanie tej odpowiedzi i przejście do @Thanh Hải poniżej.
Peter H. Boling
2
Dodaj słowo ostrzeżenia, że ​​spowoduje to zaktualizowanie WSZYSTKICH zainstalowanych pakietów.
Carl G,
... co zajmie dużo czasu i (jeśli korzystasz z systemu OS X) rozgrzeje laptopa jak szalony podczas ponownej kompilacji wszystkich brewaplikacji.
Matt Andrews,
62

Edycja: bieg cd "$(brew --repository)" && git fetch && git reset --hard origin/masterrozwiąże!

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

Thanh Hải
źródło
12
Jest to w rzeczywistości znacznie lepsza odpowiedź niż odpowiedź zaakceptowana. Odsyła do problemu w module śledzącym i będzie działać na większej liczbie systemów. Również ta odpowiedź zadziałała dla mnie, dla błędu OP w naparach v0.9.9. Również zaakceptowana odpowiedź (nagi brew upgrade) może zniszczyć wiele rzeczy, od których zależy użytkownik. Ślepe uaktualnienie wszystkich opakowań naparu może spowodować katastrofę, której rozwiązanie może potrwać kilka godzin. - 1 za @geotheory, czy ty warzycie?
Peter H. Boling
@ PeterH. Boling działał dla mnie dobrze, choć inne odpowiedzi są lepszymi alternatywami. Nie polegam na moim codziennym systemie operacyjnym sterownika, aby dostarczać określone wersje pakietów, gdy istnieją niezliczone lepsze rozwiązania, aby to zrobić.
ntwrkguru
@ntwrkguru - Nie podążam. brew(homebrew) nie jest częścią systemu operacyjnego, a w zależności od tego, jakie narzędzia wykorzystują wszechświat browarny, ulepszanie ich wszystkich może być katastrofalne dla środowiska programistycznego.
Peter H. Boling
@ PeterH.Bo, co mam na myśli, to dla mnie, że nie używam tego, co jest na moim Macu, czy to przez napar, źródło, czy Apple do programowania, więc nie obchodzi mnie, jaką wersję ma dany pakiet napoju. To wszystko.
ntwrkguru
0

Ten sam problem spotkałem, kiedy próbowałem

brew tap homebrew/science
brew install opencv3
brew update

Jednak pisanie

brew update

ponownie rozwiązał mój problem.

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
źródło