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.


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.