Homebrew: Erreur: update-report ne doit pas être appelé directement

192

En cours d'exécution, brew updatej'obtiens ce qui suit:

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

L'appel brew configrapporte ce qui suit:

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

Une idée de comment résoudre ce problème? Je me demande si Sophos Antivirus pourrait à nouveau causer des problèmes.

géothéorie
la source
L'homebrew de l'IIRC a déplacé des fichiers il y a quelques semaines. Pour moi, cela appelle en fait /usr/local/Library/Homebrew/brew.sh- Pour moi, /usr/local/Library/brew.shcela n'existe plus. Peut-être que les choses ont mal tourné pendant la transition?
cel

Réponses:

210

brew upgrademettra à jour tous les packages installés. Si vous avez besoin de maintenir une version spécifique d'un binaire, envisagez d'utiliser la réponse de @ thanh-hải: https://stackoverflow.com/a/38464247/868724

Je viens de recevoir cette erreur. J'ai couru brew upgradeet puis brew updateencore et le problème a semblé se résoudre.

Vous pouvez également essayer de brew updaterecommencer comme suggéré par @ ashley-willis.

aboutaaron
la source
7
Il met à niveau tous les packages installés. J'ai d'énormes binaires, par exemple Apache Spark, qui ressemble à une solution étrange pour moi
ololobus
2
cd /usr/local; git reset --hard origin/master; brew update
Aidé
12
Un nu brew upgradeest très dangereux si votre pile de développement dépend de versions spécifiques de packages (comme les piles de développement ont l'habitude de le faire). Il mettra à niveau tous vos packages vers les dernières versions, cassant ainsi tout ce qui dépend d'une version plus ancienne. Je recommande vivement d'éviter cette réponse et d'aller avec @Thanh Hải ci-dessous.
Peter H.Boling
2
Veuillez ajouter un mot d'avertissement que cela mettra à jour TOUS les packages installés.
Carl G
... ce qui prendra beaucoup de temps et (si vous êtes sur OS X) fera chauffer votre ordinateur portable comme un fou lorsque vous recompilez toutes vos brewapplications.
Matt Andrews
62

Edit: courir cd "$(brew --repository)" && git fetch && git reset --hard origin/masterrésoudra!

Reportez-vous à https://github.com/Homebrew/brew/issues/557

Thanh Hải
la source
12
C'est en fait une bien meilleure réponse que la réponse acceptée. Il est lié au problème sur le tracker et fonctionnera sur plus de systèmes. En outre, cette réponse a fonctionné pour moi, pour l'erreur OP sur brew v0.9.9. De plus, la réponse acceptée (avec un nu brew upgrade) peut casser beaucoup de choses dont l'utilisateur dépend. La mise à niveau aveugle de tous les packages de bière peut entraîner un désastre qui peut prendre des heures à démêler. --1 pour @geotheory, brassez-vous même?
Peter H.Boling
@ PeterH.Boling a bien fonctionné pour moi, même si les autres réponses sont de meilleures alternatives. Je ne compte pas sur mon système d'exploitation de pilote quotidien pour fournir des versions de package spécifiques lorsqu'il existe une myriade de meilleures solutions pour faire de même.
ntwrkguru
@ntwrkguru - Je ne suis pas. brew(homebrew) ne fait pas partie du système d'exploitation, et selon les outils utilisés, utilisez-les dans l'univers de la bière, les mettre à niveau tous peut être désastreux pour un environnement de développement.
Peter H. Boling
@ PeterH.Pour ce que je veux dire, je n'utilise pas ce qui se trouve sur mon Mac, que ce soit via brew, source ou Apple pour le développement et donc je ne me soucie pas de la version d'un paquet de bière donné. C'est tout.
ntwrkguru
0

J'ai rencontré le même problème quand j'ai essayé

brew tap homebrew/science
brew install opencv3
brew update

Cependant, en tapant

brew update

a encore résolu mon problème.

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
la source