Acabei de receber um novo macbook e instalei node.js usando o instalador oficial.
Por alguma razão, só posso executar node.js usando sudo node
e não apenas node
. Eu verifiquei novamente o $ PATH e o caminho para o nó está lá.
nikke at Nicks-MacBook-Pro in ~
$ node
-bash: node: command not found
nikke at Nicks-MacBook-Pro in ~
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/nikke/.rvm/bin
nikke at Nicks-MacBook-Pro in ~
$ /usr/local/bin/node -v
-bash: /usr/local/bin/node: Permission denied
nikke at Nicks-MacBook-Pro in ~
$ sudo /usr/local/bin/node -v
v0.10.12
Meu colega tem o mesmo computador e ele pode executar o nó muito bem sem ter que fazer o sudo. Isso é normal? O que eu poderia fazer de errado? O instalador não disse nada sobre ter que fazer sudo.
Eu também estou tendo este problema com o git, por exemplo fazendo git commit
também diz Permission denied
.
node
, certo? Qual é a saída dels -l /usr/local/bin/node
?Respostas:
Existem duas partes para este fenómeno - i & gt; localização ou ii & gt; o natureza , do arquivo pode exigir que você entre como administrador, pois ele pode agir de maneira a desestabilizar o sistema, ou você pode simplesmente NÃO ter as permissões necessárias para executar o arquivo.
Quanto a trabalhar no computador do colega, pode ser devido a uma variação dos fatores acima mencionados.
Tente alterar a permissão do arquivo (para o qual você pode precisar novamente de direitos de administrador). Se possível, você também pode tentar executá-lo em um local separado. Sudo faz o trabalho perfeitamente, elevando a sua posição como o administrador do sistema operacional (que tem os direitos necessários). Esta é uma das muitas verificações de segurança nativas do sistema operacional, para evitar alterações / danos acidentais do sistema.
CRIANÇA LEVADA: Seu local selecionado tem arquivos preciosos relacionados ao sistema, que o usuário não tem o direito de editar.
Além disso, seu amigo fez login como superusuário, usando
??
Em caso afirmativo, ele já efetuou login como superusuário e não precisa efetuar login novamente. Os privilégios do usuário root são indicados pelo # no final do prompt, em vez de $ .
fonte
su
é válido.sudo chmod go+rwx /usr/local/bin
e então começou a funcionar! Obrigado novamente :)Provavelmente porque o programa / usr / local / bin / node não pode ser executado por usuários "normais". Você aparentemente precisa ser o usuário root para executá-lo. É por isso que o sudo é necessário.
fonte