Homebrew: Lỗi: báo cáo cập nhật không nên được gọi trực tiếp


192

Chạy brew updatetôi nhận được như sau:

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

Gọi brew configbáo cáo như sau:

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

Bất kỳ ý tưởng làm thế nào để khắc phục điều này? Tôi tự hỏi nếu Sophos Antivirus có thể gây ra vấn đề một lần nữa ..


Homebrew IIRC đã chuyển các tập tin một vài tuần trước đây. Đối với tôi nó thực sự gọi /usr/local/Library/Homebrew/brew.sh- Đối với tôi, /usr/local/Library/brew.shkhông còn tồn tại nữa. Có lẽ mọi thứ đã đi sai trong quá trình chuyển đổi?
cel

Câu trả lời:


210

brew upgradesẽ nâng cấp tất cả các gói đã cài đặt. Nếu bạn cần duy trì một phiên bản cụ thể của bất kỳ nhị phân nào, hãy xem xét sử dụng câu trả lời của @ thanh-Hải: https://stackoverflow.com/a/38464247/868724

Tôi vừa nhận được lỗi này. Tôi chạy brew upgradevà sau đó brew updatemột lần nữa và vấn đề dường như tự giải quyết.

Ngoài ra, hãy thử chạy brew updatelại theo đề xuất của @ ashley-willis.


7
Nó nâng cấp tất cả các gói cài đặt. Tôi có những cái nhị phân khổng lồ, ví dụ Apache Spark, có vẻ như là một giải pháp kỳ lạ đối với tôi
ololobus

2
cd /usr/local; git reset --hard origin/master; brew updateVô tình giúp đỡ
ololobus

12
Việc khỏa thân brew upgraderất nguy hiểm nếu ngăn xếp dev của bạn phụ thuộc vào các phiên bản cụ thể của gói (vì ngăn xếp dev sẽ không làm). Nó sẽ nâng cấp tất cả các gói của bạn lên phiên bản mới nhất, do đó phá vỡ mọi thứ tùy thuộc vào phiên bản cũ hơn. Rất khuyến khích tránh câu trả lời này và đi với @Thanh Hải bên dưới.
Peter H. Boling

2
Vui lòng thêm một lời cảnh báo rằng điều này sẽ cập nhật TẤT CẢ các gói đã cài đặt.
Carl G

... Sẽ mất nhiều thời gian và (nếu bạn đang dùng OS X) sẽ khiến laptop của bạn nóng lên như điên khi bạn biên dịch lại tất cả các brewứng dụng của mình .
Matt Andrew


62

Chỉnh sửa: chạy cd "$(brew --repository)" && git fetch && git reset --hard origin/mastersẽ giải quyết!

Tham khảo https://github.com/Homebrew/brew/issues/557


12
Đây thực sự là một câu trả lời tốt hơn nhiều so với câu trả lời được chấp nhận. Nó liên kết đến vấn đề trên trình theo dõi và sẽ hoạt động trên nhiều hệ thống hơn. Ngoài ra, câu trả lời này có hiệu quả với tôi, đối với lỗi OP trên brew v0.9.9. Ngoài ra, câu trả lời được chấp nhận (với một sự trần trụi brew upgrade) có thể phá vỡ nhiều điều mà người dùng phụ thuộc vào. Nâng cấp một cách mù quáng tất cả các gói bia có thể dẫn đến một thảm họa có thể mất nhiều giờ để gỡ rối. --1 cho @geotheory, bạn có pha không?
Peter H. Boling

@ PeterH.Boling làm việc tốt cho tôi, mặc dù các câu trả lời khác là lựa chọn thay thế tốt hơn. Tôi không dựa vào hệ điều hành hàng ngày của mình để cung cấp các phiên bản gói cụ thể khi có vô số giải pháp tốt hơn để làm điều tương tự.
ntwrkguru

@ntwrkguru - Tôi không theo dõi. brew(homebrew) không phải là một phần của HĐH và tùy thuộc vào công cụ sử dụng từ vũ trụ bia nâng cấp, tất cả có thể là thảm họa đối với môi trường phát triển.
Peter H. Boling

@ PeterH. Theo tôi, đối với tôi, tôi không sử dụng bất cứ thứ gì có trên máy Mac của mình, thông qua sản xuất bia, nguồn hoặc Apple để phát triển và vì vậy tôi không quan tâm phiên bản gói bia cụ thể là gì. Đó là tất cả.
ntwrkguru

0

Tôi đã gặp vấn đề tương tự khi tôi cố gắng

brew tap homebrew/science
brew install opencv3
brew update

Tuy nhiên, gõ

brew update

một lần nữa đã giải quyết vấn đề của tôi.

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.