Homebrew: Ошибка: update-report нельзя вызывать напрямую

192

Запускаюсь brew updateполучаю следующее:

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

Вызов brew configсообщает следующее:

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

Есть идеи, как это исправить? Интересно, может ли Sophos Antivirus снова вызывать проблемы ...

геотеория
источник
Доморощенный IIRC переместил файлы пару недель назад. Для меня это на самом деле вызывает /usr/local/Library/Homebrew/brew.sh- для меня /usr/local/Library/brew.shбольше не существует. Может, при переходе что-то пошло не так?
чел

Ответы:

210

brew upgradeобновит все установленные пакеты. Если вам нужно поддерживать конкретную версию любого двоичного файла, подумайте об использовании ответа @ thanh-hải: https://stackoverflow.com/a/38464247/868724

Я только что получил эту ошибку. Я побежал, brew upgradeа потом brew updateснова, и проблема, казалось, разрешилась сама собой.

В качестве альтернативы, попробуйте просто запустить brew updateснова, как предлагает @ ashley-willis.

aboutaaron
источник
7
Он обновляет все установленные пакеты. У меня огромные бинарные файлы, например Apache Spark, для меня странное решение
ololobus
2
cd /usr/local; git reset --hard origin/master; brew updateНечаянно помогло
ололобус
12
Голый brew upgradeочень опасен, если ваш стек разработчика зависит от конкретных версий пакетов (как обычно делают стеки разработчика). Он обновит все ваши пакеты до последних версий, что приведет к поломке всего, что зависит от более старой версии. Настоятельно рекомендую избегать этого ответа и использовать @Thanh Hải ниже.
Питер Х. Болинг,
2
Пожалуйста, предупредите, что это обновит ВСЕ установленные пакеты.
Carl G
... что займет много времени и (если вы используете OS X) сильно разогреет ваш ноутбук, когда вы перекомпилируете все свои brewприложения.
Мэтт Эндрюс,
61

Изменить: запустить cd "$(brew --repository)" && git fetch && git reset --hard origin/masterрешит!

См. Https://github.com/Homebrew/brew/issues/557

Тхань Хой
источник
12
На самом деле это гораздо лучший ответ, чем принятый ответ. Он связан с проблемой на трекере и будет работать в других системах. Кроме того, этот ответ сработал для меня из-за ошибки OP на brew v0.9.9. Также принятый ответ (с голым brew upgrade) может нарушить многие вещи, от которых зависит пользователь. Слепое обновление всех пакетов пива может привести к катастрофе, на распутывание которой могут уйти часы. --1 для @geotheory, вы вообще варите?
Питер Х. Болинг
@ PeterH.Boling отлично работал у меня, хотя другие ответы - лучшие альтернативы. Я не полагаюсь на свою ежедневную ОС с драйверами для предоставления конкретных версий пакетов, когда есть множество лучших решений для того же.
ntwrkguru
@ntwrkguru - я не слежу. brew(homebrew) не является частью ОС, и в зависимости от того, какие инструменты используют из вселенной brew, обновление их всех может иметь катастрофические последствия для среды разработки.
Питер Х. Болинг
@ PeterH. Я имею в виду, что для меня я не использую все, что есть на моем Mac, будь то brew, source или Apple для разработки, и поэтому мне все равно, какая версия у данного пакета brew. Вот и все.
ntwrkguru
0

Я столкнулся с той же проблемой, когда попробовал

brew tap homebrew/science
brew install opencv3
brew update

Однако, набрав

brew update

снова решил мою проблему.

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
источник