Mencoba memasang rvm dan ruby 1.9.2
Saya sudah menginstal homebrew dan git, tetapi tidak bisa mendapatkan pembaruan lengkap karena saya terus mendapatkan kesalahan izin. Menginstal ulang Snow Leopard dan izin yang diperbaiki.
Sekarang ini terjadi ...
$ brew install wget
Kesalahan: Tidak dapat menulis ke / usr / local / Cellar
ruby
permissions
rvm
homebrew
Ibrahim
sumber
sumber
Jawaban:
Anda harus memberi diri Anda kepemilikan untuk
/usr/local/
menggunakan baris itu di sana. Saya harus melakukan ini sendiri setelah menggunakan ruby one-liner di bagian atas dokumen resmi untuk menginstal Homebrew. Bekerja seperti pesona bagi saya. Ini harus menjadi satu-satunya saat Anda perlusudo
bersama Homebrew.Saya tidak yakin apakah ruby one-liner melakukan ini. Jika ya, maka sesuatu yang lain di sistem saya mengambil kendali
/usr/local
sejak itu.Sunting : Saya benar-benar melewatkan ini, tetapi @samvermette tidak (lihat balasan untuk jawaban saya): jika Anda menjalankan perintah ini di atas dan menginstal sesuatu melalui homebrew yang memerlukan izin pengguna khusus, seperti
mysql
, pastikan untuk memberikan izin itu kembali (seperti perintah di atas memberikan kepemilikan rekursif untuk semua yang ada di dalam/usr/local
diri Anda ($USER
). Dalam kasus mysql, itu…sumber
mysql
pengguna. Dalam kasus saya yang mencegah mysql untuk memulai. Perbaiki itu dengan:sudo chown -RL mysql:mysql /usr/local/mysql/data
sudo chown -R $USER /usr/local/Cellar
sebagaimana/usr/local/
telah memiliki izin yang benar untuk sayaSaya mengalami masalah ini setelah meningkatkan ke Mavericks, dan halaman ini adalah hasil pencarian teratas saat mencari pesan kesalahan di Google. Saya terus mencari dan menemukan jawaban ini di stack overflow.com . Singkatnya, ini adalah:
Ini memperbaiki masalah bagi saya, dan karena hanya mengubah izin untuk jalur tertentu yang dirujuk dalam pesan kesalahan, tampaknya tidak mungkin memiliki efek samping negatif dengan penginstalan lain.
Saya memberikan jawaban ini di sini untuk siapa pun yang mungkin menemukan halaman ini pertama kali seperti yang saya lakukan. Namun, kredit harus diberikan kepada jdi .
sumber
/usr/local/bin
).Anda hanya dapat mengizinkan pengguna Admin menulis ke
/usr/local/
?Karena itu setiap pengguna yang termasuk dalam grup Admin, akan dapat menginstal dependensi baru.
sumber
sudo chgrp -R admin /usr/local/DDDD
+ disudo chmod -R g+w /usr/local/DDDD
mana DDDD adalah bin , share , Library / LinkedKegs , optDi High Sierra Anda memerlukan perintah berikut karena chown tidak akan berfungsi:
Tautan:
https://github.com/Homebrew/brew/issues/3228
sumber
uninstall dan instal ulang HomeBrew yang akan melakukan trik
sumber
Saya sarankan memastikan bahwa pengguna saat ini adalah anggota grup yang memiliki / usr / local. Saya percaya secara default, grup itu adalah
wheel
. Untuk menjadikan diri Anda anggota grup itu:Meskipun sesuatu dari palu yang tidak elegan, itu memiliki efek yang diinginkan - memungkinkan akses ke item
/usr/local
yang dimaksudkan hanya untuk digunakan (baca / tulis) oleh anggota yang ditinggikan. Pendekatan ini memiliki keunggulan lain di atas karena memanfaatkan keanggotaan grup, memungkinkan beberapa pengguna (resmi) di sistem untuk menggunakan homebrew.sumber
Bagaimana Anda menginstal Homebrew? Petunjuk penginstalan resmi mereka termasuk menjalankan skrip ruby. Itu harus mengurus masalah izin untuk Anda.
Jika Anda tidak ingin menjalankan skrip, ada bagian halaman yang disebut "Menginstal ke / usr / local untuk Pengembang" yang menjelaskan perubahan izin yang diperlukan untuk direktori / usr / local.
sumber
EDIT : Seperti yang disebutkan di komentar, menggunakan sudo dengan homebrew adalah ide yang buruk, jadi jangan gunakan jawaban berikut!
Anda juga dapat mencegah kesalahan ini jika Anda menjalankan perintah dengan sudo:
Tapi berhati-hatilah saat menggunakannya
sudo
karena Anda bisa membuat banyak kesalahan.sumber