Tôi đang gặp lỗi khi tôi cố gắng thực hiện 'cập nhật bia'


4

Tôi muốn cài đặt một viên đá quý. Các hướng dẫn khuyến nghị mạnh mẽ rằng tôi sử dụng Homebrew để cài đặt các phụ thuộc đá quý. Tôi đã không sử dụng Homebrew rất nhiều, có thể một năm trước đây. Tôi nhớ rằng El Capitan đã được cài đặt. Tôi cũng nhớ các lệnh 'brew Doctor' và 'brew update'. Đầu tiên tôi chạy brew update và đã nhận được lỗi sau:

[~]$ brew update
warning: unable to unlink CONTRIBUTING.md: Permission denied
warning: unable to unlink SUPPORTERS.md: Permission denied
fatal: cannot create directory at '.github': Permission denied
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

Tôi không biết gì về chi tiết của lỗi này nên tôi quyết định thử sudo brew update. Tôi đã nhận được lỗi sau.

[~]$ sudo brew update
sudo: /private/etc/sudoers.d is owned by uid 501, should be 0
Password:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mach (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/global.rb:3:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/brew.rb:15:in `<main>'

Sau đó tôi quyết định chạy brew doctor. Tôi đã nhận được lỗi sau.

[~]$ brew doctor
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mach (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/global.rb:3:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/brew.rb:15:in `<main>'

Tôi đoán phiên bản ruby ​​2.0.0 là phiên bản Ruby mà Mac Mini Server của tôi đang sử dụng cho HĐH. Tôi đang sử dụng phiên bản mới hơn của Ruby với Trình quản lý phiên bản Ruby cho các ứng dụng Ruby on Rails của tôi.

Lần cuối cùng tôi sử dụng Homebrew là với Mavericks hoặc Mountain Lion. Tôi không biết phải đi đâu từ đây để giải quyết vấn đề này. Không có tài liệu nào tôi tìm thấy địa chỉ trực tuyến lỗi này.


Bạn có thể có 2 vấn đề một là tệp sudoers có chủ sở hữu sai chỉ chỉnh sửa nó bằng visudo
Mark

"Tôi nhớ rằng El Capitan đã được cài đặt." Bạn có thể xây dựng?
techraf

@Techraf Tôi đã cài đặt sạch trên El Capitan sau khi xóa sạch ổ cứng. Khi tôi cố cài đặt homebrew, nó nói nó đã được cài đặt. Có vài lần khi tôi mở Xcode, nó nói rằng nó đang cài đặt các thành phần cần thiết. Tôi giả sử Homebrew đã được cài đặt trong El Capitan hoặc Xcode.
Pamela Cook - LightBe Corp

Câu trả lời:


1

Tại sao không lập danh sách những thứ bạn có thể đã cài đặt:

 brew list

Sau đó tạo một bản sao lưu (chỉ trong trường hợp). Sau đó gỡ cài đặt homebrew và có thể mọi thứ khác trong / usr / local để cài đặt sạch và khởi động sạch?


1
lệnh brew list cho cùng một lỗi.
Pamela Cook - LightBe Corp

Tôi đã tiếp tục gỡ cài đặt và cài đặt lại Homebrew vì tôi chưa sử dụng nó để cài đặt bất cứ thứ gì tôi đang sử dụng. Tôi phải xóa / usr / local / bao gồm thủ công. Bây giờ hệ thống của tôi đã sẵn sàng để ủ. Cảm ơn!
Pamela Cook - LightBe Corp

4

Tôi đã gặp vấn đề tương tự và nghiên cứu của tôi đề nghị đặt lại phiên bản địa phương của repo bia:

cd $(brew --prefix) && git fetch && git reset --hard origin/master

Tôi sẽ tự mình thử điều này.


trên El Capitan, tôi vẫn nhận được: fatal: không thể tạo thư mục tại '.github': Quyền bị từ chối
rfabbri

3

Như đã đề cập ở đây: https://github.com/Homebrew/legacy-homebrew/issues/49879#issuecomment-196294820

Điều làm việc cho tôi với tất cả các lỗi là

sudo chown -R $(whoami):admin /usr/local
cd $(brew --prefix) && git fetch origin && git reset --hard origin/master

Sau đó tôi có thể chạy lại lệnh brew, chẳng hạn như brew updatebrew upgrade. (Và fwiw, như là một thay thế cho brew list nếu nó không hoạt động và bạn chỉ muốn một danh sách nhanh, bạn có thể có được một danh sách thô chỉ bằng cách thực hiện ls -l cd $(brew --prefix)/Cellar )


nó có hợp lý để làm cho toàn hệ thống / usr / local được sở hữu bởi một người dùng cụ thể như homebrew không? Tôi co rúm lại, nhưng nó phải có một lý do.
rfabbri

3

Xây dựng câu trả lời trước, chạy như sau:

sudo chown $(whoami):admin /usr/local
cd $(brew --prefix) && git fetch origin && git reset --hard origin/master
brew update

Tôi mới chạy nó vào El Capitan 10.11.6 và bản cập nhật kết thúc với thông báo:

== & gt; Di chuyển HOMEBREW_REPOSITORY (vui lòng đợi) ...
== & gt; Đã di chuyển HOMEBREW_REPOSITORY sang / usr / local / Homebrew!
Homebrew không còn cần phải có quyền sở hữu / usr / local. Nếu bạn ước, bạn có thể
return / usr / local về quyền sở hữu mặc định của nó với:

sudo chown root:wheel /usr/local

Nếu bạn thấy điều đó, hãy chạy lệnh để trả lại chính xác sự thay đổi quyền bạn đã thực hiện lúc đầu thành bình thường.

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.