Agregue una variable de entorno llamada NODE_PATH
y configúrela en %USERPROFILE%\Application Data\npm\node_modules
(Windows XP), %AppData%\npm\node_modules
(Windows 7/8/10), o donde npm termine instalando los módulos en su versión de Windows. Para hacerlo de una vez por todas, agregue esto como una variable del Sistema en la pestaña Avanzado del cuadro de diálogo Propiedades del sistema (ejecutar control.exe sysdm.cpl,System,3
).
La solución rápida en Windows 7+ es simplemente ejecutar:
rem for future
setx NODE_PATH %AppData%\npm\node_modules
rem for current session
set NODE_PATH=%AppData%\npm\node_modules
Vale la pena mencionar que NODE_PATH
solo se usa al importar módulos en aplicaciones Node. Cuando desee utilizar los binarios de módulos instalados globalmente en su CLI, debe agregarlos también a su PATH
, pero sin node_modules
parte (por ejemplo, %AppData%\npm
en Windows 7/8/10).
Vieja historia
Soy bastante nuevo en node.js, así que no puedo estar completamente en lo cierto, pero desde mi experiencia funciona de esta manera:
- -g no es una forma de instalar bibliotecas globales, es solo una forma de colocarlas en la ruta del sistema para que pueda llamarlas desde la línea de comandos sin escribir la ruta completa en ellas. Es útil, por ejemplo, entonces la aplicación de nodo está convirtiendo archivos locales, como menos ; si la instala globalmente, puede usarla en cualquier directorio.
- node.js en sí mismo no miró el directorio global npm, está usando otro algoritmo para encontrar los archivos requeridos: http://nodejs.org/api/modules.html#modules_file_modules (básicamente escanea cada carpeta en la ruta, comenzando de la carpeta actual para node_modules y la verifica).
Vea una pregunta similar para obtener más detalles: ¿Cómo instalo un módulo globalmente usando npm?