tidak bisa chown / usr / local untuk homebrew di Mac OS X 10.13 High Sierra


118

Homebrew membutuhkan izin di / usr / local dan karena tidak ada orang lain yang menggunakan laptop saya, saya selalu melakukannya

sudo chown -R $(whoami) $(brew --prefix)

tapi di High Sierra, ini memberi

chown: /usr/local: Operation not permitted

Apa perbaikannya?


Dipecahkan dengan: sudo chown -R "$ USER": admin / usr / local / *
Marcelo Campusano

Jawaban:


218

Masalah terus terjadi ... setelah menggali lebih dalam saya menemukan bahwa hanya mencopot pemasangan Homebrew dan kemudian memasangnya kembali menyelesaikan masalah ini.

Copot pemasangan Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Kemudian instal ulang:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

4
ini adalah satu-satunya cara untuk memperbaiki homebrew saya setelah peningkatan Sierra "Tinggi". kesalahan saya adalah: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib dan sudo chown -R $(whoami) $(brew --prefix)/* tidak membantu ...
gh4x

Luar biasa. Gagal pertama kali, menghapus skrip gagal, pemasangan kedua berhasil.
GreenAsJade

Anda mungkin ingin menyimpan keluaran brew listdalam sebuah file terlebih dahulu, untuk mengetahui paket apa yang telah diinstal.
Giles Gardam

1
Tak satu pun dari berbagai perbaikan homebrew Mojave lainnya akan bekerja di sistem saya. Uninstall / Reinstall bekerja dengan sempurna.
pkamb

2
Bekerja juga dengan Catalina
Gefilte Fish

52

Sayangnya Anda tidak bisa lagi menikmati /usr/localdi High Sierra. Solusinya adalah dengan sudo mkdir /usr/local/includedan /usr/local/Frameworksjika tidak ada, dan

sudo chown -R $(whoami) $(brew --prefix)/*

Terima kasih kepada ilovezfs untuk solusi sederhana ini dan untuk homebrew yang luar biasa!


9
Masih tidak bekerja. $ brew update Kesalahan: Direktori / usr / local tidak dapat ditulis.
Laurence Cope

Coba copot pemasangan dan pasang ulang Homebrew: stackoverflow.com/questions/46459152/…
ruggershawn

seperti yang saya komentari di tempat lain, menghapus instalasi menghapus SEMUA paket minuman Anda.
jaydel

$(brew --prefix)harus mengevaluasi /usr/local/, saya percaya.
Jordan Stewart

33

Anda tidak dapat mengubah izin untuk /usr/localdirinya sendiri, tetapi Anda dapat mengubah izin yang tepat untuk folder di bawahnya, jadi ini memperbaiki
sudo chown -R $(whoami) /usr/local/*


1
Dapatkan masalah yang sama
Laurence Cope

2
Berjalan di MacOS High Sierra. Bekerja. Terima kasih.
Pangeran Odame

2
Bekerja untuk saya di: macOS High Sierra 10.13.6
Gail Parsloe

8

Saya mengikuti ini tetapi masalahnya masih berlanjut.
Jadi, saya menginstal ulang homebrew tanpa menghapus instalan sebelumnya. Ini bekerja sekarang!
(Saya tidak tahu bagaimana)


3
Saya sarankan untuk menghapus Homebrew sepenuhnya & kemudian menginstalnya lagi.
k1r8r0wn

Beberapa pemasangan berhasil, saya tidak dapat memperbaikinya sampai saya mencopot pemasangannya.
cbowns

mencopot pemasangan akan mengacaukan semuanya. Saya memiliki banyak paket yang terinstal dan harus melalui dan menginstal semuanya lagi. Sayangnya ini semua bekerja sebelumnya karena SAYA MEMILIKI paket-paket itu.
jaydel


3

Coba nonaktifkan Perlindungan Integritas Sistem . Dari dokumentasi:

Perlindungan Integritas Sistem dapat dikonfigurasi menggunakan perintah csrutil (1).

Anda dapat memeriksa apakah Perlindungan Integritas Sistem saat ini diaktifkan di sistem Anda dengan menjalankan perintah berikut di Terminal:

$ csrutil status
System Integrity Protection status: enabled.

Untuk mengaktifkan atau menonaktifkan Perlindungan Integritas Sistem, Anda harus boot ke Recovery OS dan menjalankan perintah csrutil (1) dari Terminal.

Boot ke Recovery OS dengan memulai ulang mesin Anda dan menahan tombol Command dan R saat startup. Luncurkan Terminal dari menu Utilitas. Masukkan perintah berikut: $ csrutil enable

Setelah mengaktifkan atau menonaktifkan Perlindungan Integritas Sistem pada mesin, booting ulang diperlukan.


Meskipun ini secara teoritis dapat menjawab pertanyaan tersebut, akan lebih baik jika menyertakan bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Jake Symons

3
Ini sedikit seperti melepas pelindung dari gergaji meja Anda. Ini berhasil, dan terkadang mungkin perlu, tetapi lebih aman jika Anda tidak harus melakukannya. Menetapkan diri Anda sebagai pemilik / usr / local agar pekerjaan homebrew selalu tampak seperti retasan.
Kaleb

3
Ini sangat tidak disarankan! Ini sangat berbahaya kecuali pengguna tidak melakukan apa yang dia lakukan.
Abu Shumon

@oligofren: D: D: D ayo bung. Tenang, ini bukan word in contextkontes bahasa Inggris . : D: D Bendera untuk memperingatkan pengguna. Tapi baiklah, Anda mengambil kata-kata untuk saya maka: p: p
Abu Shumon

1

jika Anda menggunakan zsh karena Anda berasal dari bash, Anda mungkin harus mengubah $ PATH Anda. Anda harus menambahkan export PATH=$HOME/bin:/usr/local/bin:$PATH .zshrc

maka itu harus bekerja, masalah ini diselesaikan di mac saya dengan cara ini.


1

Saya juga di 10.13 High Sierra. Saya mencoba saran sebelumnya; tidak ada yang berhasil. Akhirnya saya mencoba menginstal alat baris perintah terlebih dahulu:

xcode-select --install

dan kemudian (kembali) jalankan perintah brew install:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

dan akhirnya berhasil.


0

Pastikan Anda tidak memiliki kunci yang disetel di folder utama atau folder apa pun yang perlu diakses penginstalan.

Bahkan jika izin dan kepemilikan diatur dengan benar dan Anda saat ini masuk dengan pengguna / atau pengguna Root yang benar, Anda tidak dapat membuat folder atau direktori baru.


0

Saya tidak memiliki folder / user / local / Frameworks, jadi ini memperbaikinya untuk saya

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

Saya memiliki OSX High Sierra


0

ini Kaushik. Saya menggunakan MacBook Pro macOS Catalina 10.15.4. Saya membuat akun admin baru tetapi minuman membuat kesalahan. Karenanya, saya mengikuti langkah dari posting ini. apa yang berhasil adalah:

sudo chown -R $ (whoami) $ (minuman --prefix) / *

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.