Eu estava instalando o nodejs para o Symphony quando encontrei o erro "Operação não permitida". Alguém sabe por que isso aconteceu?
MacBook Pro-de-XXX: ~ XXX $ sudo ln -s / usr / local / bin / node / usr / bin / node
Senha:
ln: / usr / bin / node: operação não permitida
Respostas:
Este é o chamado modo "sem raiz" na nova versão do OS X. Ele efetivamente torna certos diretórios do sistema somente leitura (mesmo para administradores). "/ usr" é um desses diretórios protegidos (o único subdiretório excluído desta regra é "/ usr / local")
Pode-se desativar esse modo sem raiz com os seguintes comandos:
Mas isso não é recomendado! A melhor prática é instalar itens personalizados apenas em "/ usr / local".
Atualização (27-Out-15): 10.11 (El Capitan) Public Release
Observe que a solução alternativa descrita acima não funcionará mais com o lançamento público do El Capitan, pois a Apple mudou as coisas.
A maneira correta de desativar o modo "sem raiz" (também conhecido como System Integrity Protection, "SIP") é inicializar temporariamente no modo de recuperação (mantenha pressionada a tecla Command + R durante a inicialização) e use o
csrutil disable
comando (oucsrutil enable
para reativar) no terminal. O terminal é acessível através do menu do instalador, que é iniciado no modo de recuperação.fonte
/usr/texbin
, então vamos embora!Operation not permitted
Na minha versão do El Capitan, o
/bin
diretório não existia:/usr/local/bin
Então, a correção foi:
mkdir -p /usr/local/bin
O
-p
sinalizador criará o dir (e aliás qualquer dirs no caminho completo) se ele não existir.Em seguida, você pode criar links simbólicos e copiar aplicativos para,
/usr/local/bin
porque/usr/local
não faz parte do modo "sem raiz".fonte