Instalowałem nodejs dla Symphony, gdy trafiłem na błąd „Operacja niedozwolona”. Czy ktoś wie, dlaczego tak się stało?
MacBook-Pro-de-XXX: ~ XXX $ sudo ln -s / usr / local / bin / node / usr / bin / node
Hasło:
ln: / usr / bin / node: Operacja niedozwolona
Odpowiedzi:
Jest to tak zwany tryb „rootless” w nowej wersji OS X. Skutecznie sprawia, że niektóre katalogi systemowe są tylko do odczytu (nawet dla administratorów). „/ usr” jest jednym z tych chronionych katalogów (jedynym podkatalogiem wykluczonym z tej reguły jest „/ usr / local”)
Ten tryb rootowania można wyłączyć za pomocą następujących poleceń:
Ale nie jest to zalecane! Najlepszą praktyką jest instalowanie niestandardowych plików tylko w „/ usr / local”.
Aktualizacja (27 października 15): 10.11 (El Capitan) Publiczne wydanie
Należy pamiętać, że opisane powyżej obejście nie będzie już działać w publicznej wersji El Capitan, ponieważ Apple zmieniło wszystko.
Właściwym sposobem wyłączenia trybu „rootless” (inaczej System Integrity Protection, „SIP”) jest tymczasowe uruchomienie w trybie odzyskiwania (przytrzymaj Command + R podczas rozruchu) i skorzystaj z
csrutil disable
polecenia (lubcsrutil enable
ponownie włącz) z Terminala. Terminal jest osiągalny poprzez menu instalatora, który uruchamia się w trybie odzyskiwania.źródło
/usr/texbin
, więc ruszajmy !Operation not permitted
W mojej wersji El Capitan
/bin
katalog nie istniał:/usr/local/bin
Naprawiono więc:
mkdir -p /usr/local/bin
-p
Flaga stworzy dir (a przy okazji jakieś katalogi w pełnej ścieżki), jeśli nie istnieje.Następnie możesz tworzyć dowiązania symboliczne i kopiować aplikacje,
/usr/local/bin
ponieważ/usr/local
nie są one częścią trybu „rootless”.źródło