Homebrew:错误:不应直接调用更新报告
Posted
技术标签:
【中文标题】Homebrew:错误:不应直接调用更新报告【英文标题】:Homebrew: Error: update-report should not be called directly 【发布时间】:2016-11-19 11:38:30 【问题描述】:运行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
不再存在。也许在过渡过程中出了问题?
【参考方案1】:
brew upgrade
将升级所有已安装的软件包。如果您需要维护任何二进制文件的特定版本,请考虑使用@thanh-hải 的答案:https://***.com/a/38464247/868724
我刚刚收到此错误。我运行了brew upgrade
,然后又运行了brew update
,问题似乎自行解决了。
或者,尝试按照@ashley-willis 的建议再次运行brew update
。
【讨论】:
它会升级所有已安装的软件包。我有巨大的二进制文件,例如Apache Spark,对我来说看起来很奇怪cd /usr/local; git reset --hard origin/master; brew update
不小心帮到了
如果您的开发堆栈依赖于特定版本的包(因为开发堆栈不会这样做),那么裸露的brew upgrade
是非常危险的。它会将您的所有软件包升级到最新版本,从而根据旧版本破坏任何内容。强烈建议避免使用此答案,并在下面使用@Thanh Hải。
请注意,这将更新所有已安装的软件包。【参考方案2】:
编辑:运行cd "$(brew --repository)" && git fetch && git reset --hard origin/master
将解决!
参考https://github.com/Homebrew/brew/issues/557
【讨论】:
这实际上是一个比接受的答案更好的答案。它链接到跟踪器上的问题,并将在更多系统上运行。此外,这个答案对我有用,因为 brew v0.9.9 上的 OP 错误。此外,接受的答案(赤裸裸的brew upgrade
)可能会破坏用户依赖的许多东西。盲目升级所有 brew 软件包可能会导致一场灾难,可能需要数小时才能解决。 --1 对于@geotheory,你甚至酿造吗?
@PeterH.Boling 对我来说效果很好,尽管其他答案是更好的选择。当有无数更好的解决方案可以做到这一点时,我不依赖我的日常驱动程序操作系统来提供特定的软件包版本。
@ntwrkguru - 我不关注。 brew
(homebrew) 不是操作系统的一部分,根据 brew 世界中使用的工具,升级它们全部对于开发环境来说可能是灾难性的。
@PeterH.Bowing 我的意思是,对我来说,我不使用 Mac 上的任何东西,无论是通过 brew、source 还是 Apple 进行开发,所以我不在乎什么给定 brew 包的版本。就是这样。【参考方案3】:
在收到此错误后再次运行brew update
,正如我在https://discuss.circleci.com/t/brew-update-command-fails/5211 上看到的建议,并且也为我工作,没有进行任何升级或git-fu
【讨论】:
【参考方案4】:我在尝试时遇到了同样的问题
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
【讨论】:
以上是关于Homebrew:错误:不应直接调用更新报告的主要内容,如果未能解决你的问题,请参考以下文章
Error: uninitialized constant Homebrew::Service::System