Comando "ln -s" do Unix não permitido no OSX El Capitan Beta3
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
ln: / usr / bin / node: operação não permitida
Primeiro verifique se / usr / bin / node já está configurado. Se você quiser alterá-lo, use ln -sf para forçar o link simbólico.
MacBook-Pro-de-XXX: ~ XXX $ qual nó / usr / local / bin / node
ls -la / usr / bin / nó
MacBook Pro-de-XXX: ~ XXX $ ls -la / usr / bin / ls nó: / usr / bin / nó: Nenhum tal lima ou diretório
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 disablecomando (ou csrutil enablepara reativar) no terminal. O terminal é acessível através do menu do instalador, que é iniciado no modo de recuperação.
Pode não ser aconselhável, mas por enquanto o MacTeX parece esperar /usr/texbin, então vamos embora!
— David Lord
Modificar a NVRAM para desativar o modo sem raiz não funciona no El Capitan (pelo menos) da versão GM para a frente. Verifique esta resposta para o método que funciona na versão lançada agora: stackoverflow.com/questions/32590053/…
— Chris Ostmo
Isso não funcionou para mim também.
ainda me dá #Operation not permitted
— 660 Sinux
Minha solução foi a instalação para / usr / local / bin
— anon58192932
Na minha versão do El Capitan, o /bindiretório não existia:
Então, a correção foi:
O -psinalizador 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/binporque /usr/localnão faz parte do modo "sem raiz".
Não ajuda a resolver o problema. Às vezes, você só precisa de links simbólicos em / usr / bin e não pode evitar isso.