not last instalar found descargar como macos npm sudo

macos - last - comando npm-sudo o no?



npm last version (5)

En mi opinión, es la forma más limpia de especificar el prefijo npm:

npm config set prefix ~/.node_modules

Y luego para agregar lo siguiente a usted .bash_profile

export PATH=$HOME/.node_modules/bin:$PATH

Ahora los paquetes se instalarán en su directorio de usuarios y no se dañarán permisos.

EDITAR: Si no puede instalar yeoman , cree un archivo bash en uno de sus directorios PATH llamado yodoctor con el siguiente contenido

#!/bin/bash yo doctor

Hacer el archivo ejecutable con

chmod +x yodoctor

Y ahora deberías poder instalar yeoman.

Actualmente siempre ejecuto sudo npm install <package-name> pero, como entiendo, no es correcto.

Quiero tener la oportunidad de no usarlo como root / administrador. Seguí algunos consejos y usé este comando sudo chown -R <username> ~/.npm pero no funcionará ...

por ejemplo, es una salida de mi npm install jade

... npm http 200 https://registry.npmjs.org/amdefine npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz npm ERR! Error: EACCES, symlink ''../jade/bin/jade'' npm ERR! { [Error: EACCES, symlink ''../jade/bin/jade''] errno: 3, code: ''EACCES'', path: ''../jade/bin/jade'' } npm ERR! npm ERR! Please try running this command again as root/Administrator.

Como ves, la descarga comenzó con éxito pero luego falló.

Me pregunto cuál es la mejor manera de no permitir sudo en npm?


Es posible (y recomendable) npm install -g módulos de nodos sin sudo .

Verifique el permiso de su carpeta /usr/local/share/npm/bin . Instalé node y npm a través de brew (sin sudo ) y esa carpeta en particular terminó siendo propiedad de root.

Esto lo arregló de una vez por todas:

$ sudo chown $(whoami) /usr/local/share/npm/bin

(En cuanto a rechazar sudo con npm: tendrías que modificar npm para eso. Tu propio código de nodo podría usar https://npmjs.org/package/sudo-block , npm install sudo-block )

EDITAR: a pesar de que esto funciona, ya no uso -g . En su lugar, use el prefijo (ver la siguiente respuesta), o mejor aún use NIX https://unix.stackexchange.com/a/381797 (incluso en OSX)


He encontrado que esta es una mejor solución

sudo chown -R $USER /Users/$USER

Esto solo cambiará el propietario de su usuario a usted y npm debe instalarse bajo su usuario en OS X. Todo lo que he estado leyendo dice que sudo para las instalaciones de npm es malo y tendría que estar de acuerdo con ellos cuando se abra. scripts maliciosos.


Las dos soluciones ofrecidas aquí no son algo que yo recomendaría porque son soluciones de fuerza bruta. En su lugar, recomiendo leer Uno no simplemente sudo npm


También puedes hacer:

sudo chown -R $USER /usr/local

y recursivamente cambia los archivos a tu usuario actual.