Saya menginstal nodejs untuk Symphony ketika saya menemukan kesalahan "Operasi tidak diizinkan". Adakah yang tahu mengapa ini terjadi?
MacBook-Pro-de-XXX: ~ XXX $ sudo ln -s / usr / local / bin / node / usr / bin / node
Kata sandi:
ln: / usr / bin / node: Operasi tidak diizinkan
Jawaban:
Ini adalah apa yang disebut mode "rootless" di versi baru OS X. Ini secara efektif membuat direktori sistem tertentu hanya-baca (bahkan untuk admin). "/ usr" adalah salah satu direktori yang dilindungi (satu-satunya subdirektori yang dikecualikan dari aturan ini adalah "/ usr / local")
Seseorang dapat menonaktifkan mode tak menentu ini dengan perintah berikut:
Tetapi ini tidak direkomendasikan! Praktik terbaik adalah menginstal hal-hal khusus hanya "/ usr / local".
Pembaruan (27-Okt-15): Rilis Publik 10.11 (El Capitan)
Harap dicatat bahwa solusi yang dijelaskan di atas tidak akan berfungsi dengan rilis publik El Capitan lagi karena Apple telah mengubah keadaan.
Cara yang tepat untuk menonaktifkan mode "rootless" (alias System Integrity Protection, "SIP") adalah mem-boot sementara ke Recover Mode (tahan Command + R saat boot) dan menggunakan
csrutil disable
perintah (ataucsrutil enable
untuk mengaktifkan kembali) dari Terminal. Terminal dapat dijangkau melalui menu Pemasang yang diluncurkan dalam Mode Pemulihan.sumber
/usr/texbin
, jadi mari kita pergi!Operation not permitted
Dalam versi saya El Capitan
/bin
direktori tidak ada:/usr/local/bin
Jadi, perbaikannya adalah:
mkdir -p /usr/local/bin
The
-p
bendera akan membuat dir (dan kebetulan saja dirs di jalur penuh) jika tidak ada.Kemudian Anda dapat membuat symlink & salin aplikasi ke
/usr/local/bin
karena/usr/local
bukan bagian dari mode "rootless".sumber