Acabo de recibir un nuevo macbook e instalé node.js con el instalador oficial.
Por alguna razón solo puedo ejecutar node.js usando sudo node
y no solo node
. Revisé dos veces el $ PATH y la ruta al nodo está ahí.
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
Mi colega tiene la misma computadora y puede ejecutar el nodo bien sin tener que hacer sudo. ¿Esto es normal? ¿Qué podría hacer mal? El instalador no dijo nada sobre tener que hacer sudo.
También tengo este problema con git, por ej. obra git commit
también dice Permission denied
.
node
, ¿derecho? ¿Cuál es la salida dels -l /usr/local/bin/node
?Respuestas:
Hay dos partes de este fenómeno: i & gt; The ubicación o ii & gt; el naturaleza Es posible que la parte del archivo requiera que inicie sesión como administrador, ya que puede actuar de una manera que desestabilice el sistema, o que NO tenga los permisos necesarios para ejecutar el archivo.
En cuanto a que funciona en la computadora del colega, puede deberse a una variación de los factores mencionados anteriormente.
Intente cambiar el permiso del archivo (para lo cual puede necesitar nuevamente derechos de administrador). Si es posible, también puede intentar ejecutarlo en una ubicación separada. Sudo hace el trabajo perfectamente elevando su posición como administrador del sistema operativo (que tiene los derechos necesarios). Este es uno de los muchos controles de seguridad nativos del sistema operativo, para evitar cambios / daños accidentales del sistema.
DIABLILLO: Su ubicación seleccionada tiene preciosos archivos relacionados con el sistema, que el usuario no tiene derecho a editar.
También, ¿tu amigo inició sesión previamente como superusuario, usando
??
Si es así, entonces ya inició sesión como superusuario y no necesita iniciar sesión nuevamente. Los privilegios de usuario root están indicados por # al final del aviso en lugar de PS .
fuente
su
es válida.sudo chmod go+rwx /usr/local/bin
y luego empezó a funcionar! Gracias de nuevo :)Probablemente porque los usuarios "normales" no pueden ejecutar el programa / usr / local / bin / node. Aparentemente necesitas ser el usuario root para ejecutarlo. Es por eso que se necesita sudo.
fuente