Según: https://docs.npmjs.com/files/folders
- Instalación local (predeterminado): coloca cosas en ./node_modules de la raíz del paquete actual.
- Instalación global (con -g): coloca cosas en / usr / local o donde esté instalado el nodo.
- Instálelo localmente si lo va a requerir ().
- Instálelo globalmente si lo va a ejecutar en la línea de comando. -> Si necesita ambos, instálelo en ambos lugares o use el enlace npm.
Configuración de prefijo
La configuración del prefijo tiene como valor predeterminado la ubicación donde está instalado el nodo. En la mayoría de los sistemas, esto es /usr/local
. En Windows, esta es la ubicación exacta del binario node.exe .
Los documentos pueden estar un poco desactualizados, pero explican por qué las instalaciones globales pueden terminar en diferentes directorios:
(dev) go|c:\srv> npm config ls -l | grep prefix
; prefix = "C:\\Program Files\\nodejs" (overridden)
prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"
Según las otras respuestas, puede parecer que la anulación es ahora la ubicación predeterminada en Windows y que es posible que haya instalado mi versión de oficina antes de que se implemente esta anulación.
Esto también sugiere una solución para hacer que todos los miembros del equipo tengan globales almacenados en la misma ruta absoluta en relación con su PC, es decir (ejecutar como Administrador):
mkdir %PROGRAMDATA%\npm
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
npm config set prefix %PROGRAMDATA%\npm
abra una nueva ventana de cmd.exe y reinstale todos los paquetes globales.
Explicación (por lineno.):
- Cree una carpeta en una ubicación adecuada para contener los globales (Microsoft insiste en que no debe escribir en ProgramFiles, por lo que% PROGRAMDATA% parece el siguiente lugar lógico.
- El directorio debe estar en la ruta, así que use
setx .. /M
para establecer la ruta del sistema (en HKEY_LOCAL_MACHINE). Esto es lo que requiere que lo ejecutes en un shell con permisos de administrador.
- Dile
npm
que uses este nuevo camino. (Nota: la carpeta no está visible en% PATH% en este shell, por lo que debe abrir una nueva ventana).