Saya telah mencopot dan menginstal Homebrew 3 kali sekarang karena sepertinya tidak pernah mengizinkan saya untuk menginstal apa pun karena ia menolak izin pada akhir sebagian besar instalasi.
Sebagai contoh saya akan memposting skenario unduhan libjpeg ini yang sedang saya hadapi.
Saya mencoba menginstal libjpeg dan mendapatkan:
$ brew install libjpeg
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz
==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz
Warning: Could not link jpeg. Unlinking...
Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link jpeg'
Error: Permission denied - /usr/local/opt/jpeg
'brew link jpeg' menghasilkan dalam
Error: Permission denied - /usr/local/opt/jpeg
Inilah yang dibaca oleh dokter pembuat bir saya
$ brew doctor
Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:
jpeg
Masalah izin ini telah menjadikan mustahil untuk menggunakan minuman apa pun dan saya akan sangat menghargai saran apa pun.
sudo chown -R $USER:admin /Library/Caches/Homebrew
untuk menyingkirkan masalah izin saya.admin
grup adalah setiap pengguna admin (yang merupakan setiap pengguna akun pengguna macOS yang dapatsudo
, antara lain), jadi dengan menjalankannyachown -R …:admin
bersamachmod -R g+w /usr/local
(seperti yang disarankan oleh @AndreaDeGaetano), Anda akan melakukan kesalahan apa pun di sini dan tidak memiliki masalah dengan pengguna lain juga menggunakan/usr/local
/brew
.Perintah baru untuk pengguna di macOS High Sierra karena tidak mungkin
chown
pada/usr/local
:bash/zsh
:fish
:Referensi: Tidak dapat di-chown / usr / local di High Sierra
sumber
sudo chown -R (whoami) (brew --prefix)/*
sudo mkdir /usr/local/Frameworks
, diikuti oleh perintah chown seperti yang muncul dalam jawaban ini.Sebagai opsi pertama untuk siapa pun yang mendarat di sini seperti saya, ikuti apa pun yang disarankan untuk Anda lakukan:
Ini jalan paling aman, dan di antara hal-hal lain, itu menyarankan saya untuk:
yang memecahkan masalah izin itu.
OP melakukan hal itu tetapi tampaknya tidak mendapatkan saran di atas; Anda mungkin, dan itu selalu lebih baik untuk memulai di sana, dan hanya kemudian mencari solusi yang tidak sepele jika itu tidak membantu.
sumber
chown: /usr/local: Operation not permitted
tidak bekerja pada 5 Juli 2019Jika Anda menggunakan OSX High Sierra,
/usr/local
tidak bisa lagichown
. Kamu bisa menggunakan:sudo chown -R $(whoami) $(brew --prefix)/*
sumber
Saya tidak punya
/usr/local/Frameworks
folder, jadi ini memperbaikinya untuk sayaBaris pertama membuat folder Frameworks baru untuk digunakan homebrew (buatan). Baris kedua memberi folder itu izin pengguna Anda saat ini, yang cukup.
Perintah yang digunakan adalah sebagai berikut:
Saya memiliki OSX High Sierra
sumber
Saya mengalami masalah ini .. Solusi yang berfungsi adalah mengubah kepemilikan
/usr/local
menjadi pengguna saat ini alih-alihroot
dengan:Tapi sungguh ini bukan cara yang tepat. Terutama jika mesin Anda adalah server atau banyak pengguna.
Saran saya adalah mengubah kepemilikan seperti di atas dan melakukan apa pun yang ingin Anda terapkan dengan Brew .. (perbarui, instal ... dll) lalu setel ulang kepemilikan kembali ke root sebagai:
Thats akan menyelesaikan masalah ini dan menjaga kepemilikan tetap pada set yang tepat.
sumber
Perintah dari jawaban terpilih tidak berfungsi untuk saya.
Itu mendapat output:
Perintah ini berfungsi dengan baik (grup untuk / usr / local
admin
sudah):sumber
sudo chown -R "$USER":admin /usr/local
Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.
chown: /usr/local: Operation not permitted
Saya tidak ingin berkutat dengan izin folder, jadi saya melakukan yang berikut:
brew doctor
brew upgrade
brew cleanup
Saya kemudian dapat melanjutkan menginstal formula minuman saya yang lain dengan sukses.
sumber
Jika Anda ingin pendekatan yang sedikit lebih bertarget daripada selimut
chown -R
, Anda mungkin menemukan skrip inifix-homebrew
berguna:Alih-alih melakukan a
chmod
untuk pengguna Anda, itu memberiadmin
grup (yang Anda anggap milik) menulis akses ke direktori tertentu dalam/usr/local
penggunaan homebrew. Ini juga memberi tahu Anda apa yang ingin dilakukan sebelum melakukannya.sumber
Dalam kasus saya, / usr / local / Frameworks bahkan tidak ada, jadi saya lakukan:
Dan semuanya berjalan sesuai harapan.
sumber
Ini memecahkan masalah bagi saya.
sumber
Saya menyelesaikan masalah saya dengan perintah-perintah ini:
sumber
Mac OS 10.13.4
dalam kasus saya, saya harus membuatsudo mkdir /usr/local/Frameworks
dansudo chown -R $(whoami) /usr/local/Frameworks
dapat menautkan python!Untuk Mac multi-pengguna, ini berfungsi untuk saya:
sumber
Semua saran ini dapat berfungsi. Dalam versi terbaru dari brew doctor, saran yang lebih baik dibuat.
Pertama - perbaiki kekacauan yang mungkin telah Anda buat
/usr/local
dengan menjalankan ini di baris perintah:sudo chown -R root:wheel /usr/local
Kemudian ambil kepemilikan jalur yang harus khusus untuk pengguna ini:
Semua informasi ini tersedia jika Anda menjalankan
sudo brew update
dan kemudian membaca semua peringatan dan kesalahan yang akan Anda temui ...sumber
Bagi saya, itu berhasil setelahnya
brew doctor
Ubah perintah izin mengakibatkan kesalahan lain
chown: /usr/local: Operation not permitted
sumber
Ada skrip pembunuh di github yang memperbaiki perms pada / usr / local dan membuat direktori agar dapat diakses oleh siapa saja yang merupakan anggota dari grup 'admin'.
https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
Ini adalah solusi yang lebih baik daripada jawaban yang dipilih, karena jika Anda chown direktori / usr / local / ___ menjadi $ USER, maka Anda memecah pengguna admin homebrew lain pada mesin itu.
Inilah nyali script pada saat saya memposting ini:
sumber
Di MacOS Mojave, saya juga tidak memiliki izin ke
chown
folder / usr / local (sudo chown -R "$USER":admin /usr/local
).sudo chown -R "$USER":admin /usr/local/*
Namun berhasil bagi saya, mengubah izin dari segala sesuatu di dalam folder lokal.Semoga ini akan membantu orang lain dengan masalah yang sama.
sumber
Sebenarnya sangat sederhana, jalankan perintah ini:
brew doctor
Dan itu akan memberi tahu Anda apa yang harus dilakukan, untuk memperbaiki masalah izin, misalnya dalam kasus saya:
Ini masalahnya:
Dan ini solusinya:
sumber
sumber
Dalam kasus saya, saya mengalami masalah dalam menghapus dan menginstal ulang SaltStack.
Setelah berlari:
Saya perhatikan bahwa pemilik grup adalah "staf". (BTW, saya menjalankan macOS Mojave versi 10.14.3.) Kelompok staf bisa terkait dengan konfigurasi tempat kerja saya, tetapi saya tidak benar-benar tahu. Apa pun yang terjadi, saya mempertahankan grup untuk mencegah diri dari melanggar sesuatu yang lebih jauh.
Saya kemudian berlari:
Setelah itu, saya berhasil menghapusnya dengan perintah ini (bukan sebagai root):
sumber
Jika Anda tidak memiliki Homebrew terbaru: Saya "memperbaiki" ini di masa lalu dengan memaksa Homebrew dijalankan sebagai root, yang hanya dapat dilakukan dengan mengubah kepemilikan file executable Homebrew menjadi root. Pada titik tertentu, mereka menghapus fitur ini.
Dan saya tahu mereka akan memberikan banyak peringatan yang mengatakan itu tidak boleh berjalan sebagai root, tapi ayolah, itu tidak berfungsi dengan baik jika tidak.
sumber
Saya mencoba semuanya di halaman ini, saya akhirnya menggunakan solusi ini:
brew uninstall --force brew-cask; brew untap $tap_name; brew update; brew cleanup; brew cask cleanup;
Situasi saya mirip dengan OP, namun masalah saya secara khusus disebabkan oleh menjalankan sudo dengan pembuatan bir, dan kemudian membuat kata sandi saya salah. Setelah ini, saya terjebak dengan izin mencegah instalasi.
sumber
Untuk mengatasi kesalahan izin Brew saat folder dijalankan
Ini akan menyelesaikan masalah & kami tidak perlu mencari direktori.
sumber
brew cleanup --prune-prefix
Saya di Catalina dan saya mendapat kesalahan ini:
Saya hanya perlu chown
Homebrew
direktorisumber
Saya menggunakan dua perintah ini dan menyelamatkan masalah saya
sumber
coba juga jalankan perintah ini
sudo chmod + t / tmp
sumber