¿Dónde instala npm los paquetes?

¿Alguien puede decirme dónde puedo encontrar los módulos Node.js, que instalé usando npm?

preguntado el 08 de mayo de 11 a las 06:05

en linux mint es $HOME/.npm-global/lib/node_modules -

Para que todos lo sepan, instalar sin -g La opción instalará un módulo en su directorio de trabajo, por ejemplo, si hace que un directorio diga ~/Desktop/tmp luego cd ~/Desktop/tmp entonces hazlo npm install appium entonces hazlo ls verá node_modules package-lock.json porque ha instalado un módulo de nodo appium para usted working directory... super confuso porque -g debe ser esencialmente el default pero no es. -

@the_prole - gracias, eso fue increíblemente útil. -

@the_prole de acuerdo. comportamiento predeterminado ficticio definitivamente ... gracias por la propina. -

23 Respuestas

Bibliotecas globales

Tu puedes correr npm list -g para ver qué bibliotecas globales están instaladas y dónde se encuentran. Utilizar npm list -g | head -1 para una salida truncada que muestra solo la ruta. Si desea mostrar solo los paquetes principales, no los subpaquetes que se instalan junto con él, puede usar npm list --depth=0 que mostrará todos los paquetes y para obtener solo paquetes instalados globalmente, simplemente agregue -g ie npm list -g --depth=0.

En los sistemas Unix normalmente se colocan en /usr/local/lib/node or /usr/local/lib/node_modules cuando se instala globalmente. Si configura el NODE_PATH variable de entorno a esta ruta, los módulos se pueden encontrar por nodo.

Windows XP - %USERPROFILE%\AppData\npm\node_modules
Windows 7, 8 y 10 - %USERPROFILE%\AppData\Roaming\npm\node_modules

Bibliotecas no globales

Las bibliotecas no globales se instalan node_modules subcarpeta en la carpeta en la que se encuentra actualmente.

Tu puedes correr npm list para ver las bibliotecas no globales instaladas para su ubicación actual.

Al instalar, use la opción -g para instalar globalmente

npm install -g pm2 - pm2 se instalará globalmente. Entonces normalmente se encontrará en /usr/local/lib/node_modules (Utilizar npm root -g para comprobar dónde.)

npm install pm2 - pm2 se instalará localmente. Por lo general, se encontrará en el directorio local en /node_modules

respondido 20 nov., 19:20

Si está usando nvm, entonces sus módulos globales pueden estar en uno de varios lugares dependiendo de la versión del nodo que esté usando en ese momento. La mejor forma es utilizar npm list -g como se sugiere en otra respuesta. - inescrutable

no me funciona, solo muestra la carpeta bin. "npm root -g" funciona. - Whitneyland

bajo Arch linux, los módulos globales están bajo / usr / lib. "npm --help" muestra la ubicación exacta como la última línea de la salida, por ejemplo: npm@3.6.0 / usr / lib / node_modules / npm - Gregor

para windows 10, colocado en %USERPROFILE%\AppData\Roaming\npm\node_modules - Nirmal Gosvami

"npm root -g" es correcto - la lista podría funcionar pero es demasiada información, mientras que el otro comando solo le da la ubicación exacta que está buscando. stackoverflow.com/a/24295332/174965 - Adán Tolley

El comando npm root le dirá el directorio de instalación efectivo de sus paquetes npm.

Si su directorio de trabajo actual es un paquete de nodos o un subdirectorio de un paquete de nodos, npm root le dirá el directorio de instalación local. npm root -g mostrará la raíz de instalación global independientemente del directorio de trabajo actual.

Ejemplo:

$ npm root -g
/usr/local/lib/node_modules

Consulte la documentación.

Respondido 20 Abr '20, 20:04

+1 en esta respuesta (al menos bajo Linux Mint 17 Qianna y npm 3.9.5). Mi global node_modules carpeta están en /usr/local/lib/node_modules. Cuando lo hago es decir sudo npm uninstall browserify -g (suponiendo que hubiera hecho sudo npm install browserify -g antes) lo quita de allí. - nik_m

Esta es una respuesta mucho más útil, ya que el resultado es adecuado para componer comandos más grandes sin extraer la ruta de un montón de resultados. - Adán Tolley

La raíz predeterminada en el sistema operativo Windows es C: \ Users \ YOUR_USER_NAME \ AppData \ Roaming \ npm \ node_modules - Vicente Tang

Para MacOS Mojave 10.14.5 también es /usr/local/lib/node_modules - jim aho

Para módulos instalados globalmente:

Las otras respuestas le brindan respuestas específicas de la plataforma, pero una genérica es esta:

Cuando instala el módulo global con npm install -g something, npm busca una variable de configuración prefix para saber dónde instalar el módulo.

Puede obtener ese valor ejecutando npm config get prefix

Para mostrar todos los módulos globales disponibles en esa carpeta, use npm ls -g --depth 0 (depth 0 para no mostrar sus dependencias).

Si desea cambiar la ruta de los módulos globales, use npm config edit y poner prefix = /my/npm/global/modules/prefix en el archivo o uso npm config set prefix /my/npm/global/modules/prefix.

Cuando usas algunas herramientas como nodista, cambian la ruta de instalación predeterminada de la plataforma de los módulos npm globales.

respondido 12 mar '19, 17:03

Respondiste a mi pregunta de seguimiento: "¿Alguien puede decirme cómo puedo cambiar la ubicación de los módulos de Node.js? " Nota: La razón por la que esto era importante para mí era que no tenía que cambiar mi PATH una vez más. Descomenté la sugerencia predeterminada en el archivo npmrc que abre {npm config get prefx}. - HolaZiko

En las ventanas que utilicé npm list -g para averiguarlo. De forma predeterminada, mis paquetes (globales) se estaban instalando en C:\Users\[Username]\AppData\Roaming\npm.

Respondido 13 Feb 19, 21:02

Solo para su información: este es el% appdata% \ npm del usuario en ejecución - Felix

Si está buscando el ejecutable que npm instaló, tal vez porque le gustaría ponerlo en su RUTA, simplemente puede hacer

npm bin

or

npm bin -g

Respondido el 02 de enero de 18 a las 21:01

Si ha instalado globalmente paquetes npm donde el nodo se instaló con homebrew y luego npm se actualizó con npm, es posible que esté obteniendo command not found errores. Si es así, agregue lo anterior a su RUTA: export PATH=$PATH:$(npm bin -g) listo - jakob jingleheimer

En versiones anteriores de NPM, los módulos siempre se colocaban en / usr / local / lib / node o donde se especificaba la raíz de npm dentro del archivo .npmrc. Sin embargo, en NPM 1.0+ los módulos se instalan en dos lugares. Puede tener módulos instalados localmente para su aplicación en /.node_modules o puede tenerlos instalados globalmente, lo que usará lo anterior.

Se puede encontrar más información en https://github.com/isaacs/npm/blob/master/doc/install.md

contestado el 08 de mayo de 11 a las 17:05

Algo a tener en cuenta: con 1.0, los módulos se almacenan en / usr / local / lib / node_modules. - Nick Campbell

@EricSmith tu enlace también está roto - nicolimo86

El enlace en respuesta está muerto - "404 | Página no encontrada". - Pang

No es una respuesta directa, pero puede ayudar ...

El npm también tiene una carpeta de caché, que se puede encontrar ejecutando npm config get cache (%AppData%/npm-cache en Windows).

Los módulos npm se descargan primero aquí y luego se copian en la carpeta global npm (%AppData%/Roaming/npm en Windows) o carpeta específica del proyecto (your-project/node_modules).

Entonces, si desea rastrear paquetes npm, y de alguna manera, la lista de todos los paquetes npm descargados (si la caché npm no se limpia) eche un vistazo a esta carpeta. La estructura de carpetas es la {cache}/{name}/{version}

Esto también puede ayudar https://docs.npmjs.com/cli/cache

Respondido 28 ago 19, 05:08

Para obtener una lista compacta sin dependencias, simplemente use

npm list -g --depth 0

respondido 14 mar '19, 18:03

Si se instaló un módulo con el global (-g), puede obtener la ubicación principal ejecutando:

npm get prefix

or

npm ls -g --depth=0

que imprimirá la ubicación junto con la lista de módulos instalados.

Respondido 22 ago 20, 02:08

La forma más fácil sería hacer

lista npm -g

para listar el paquete y ver su ubicación instalada.

Había instalado npm a través de chololatey, por lo que la ubicación es

C: \ MyProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.31 \ tools \ node_modules

C: \ MyProgramData \ es la ubicación del repositorio de chocolate.

Respondido el 11 de Septiembre de 14 a las 06:09

Usted puede encontrar a nivel mundial módulos instalados por el comando

npm list -g

Le proporcionará la ubicación donde se han instalado los módulos de node.js.

C:\Users\[Username]\AppData\Roaming\npm

Si instala módulos node.js localmente en una carpeta, puede escribir el siguiente comando para ver la ubicación.

npm list

Respondido 30 Oct 17, 04:10

Estaba empezando a volverme loco mientras buscaba la configuración real, así que aquí está la lista de todos los archivos de configuración en Linux:

  • / etc / npmrc
  • /home/suusuario/.npmrc
  • /raíz/.npmrc
  • ./.npmrc en el directorio actual junto al archivo package.json (gracias a @CyrillePontvieux)

en windows:

  • c / Program \ Files / nodejs / node_modules / npm / npmrc

Luego en este archivo se configura el prefijo:

prefix=/usr

El prefijo está predeterminado en / usr en Linux, en $ {APPDATA} \ npm en Windows.

Los módulos de nodo están bajo el árbol $ prefix, y la ruta debe contener $ prefix / bin

Puede haber un problema:

  • Cuando instala globalmente, usa "sudo su" y luego el /root/.npmrc ¡puede ser usado!
  • Cuando usa localmente sin sudo: para su usuario es el /home/youruser/.npmrc.
  • Cuando tu ruta no representa tu prefijo
  • Cuando se utiliza npm set -g prefix /usr establece el / etc / npmrc global, pero no anula el local

Aquí está toda la información que faltaba para encontrar qué está configurado y dónde. Espero haber sido exhaustivo.

Respondido el 04 de enero de 21 a las 15:01

/root/.npmrc nunca debería ser buscado porque sudo con npm es una mala práctica incluso si algún tutorial lo menciona. Te olvidaste de mencionar .npmrc en el directorio junto a package.json expediente. - Cyrille Pontvieux

Desde el documentos:

En npm 1.0, hay dos formas de instalar cosas:

  • globalmente: esto coloca módulos en {prefix}/lib/node_modulesy coloca archivos ejecutables en {prefix}/bin, Donde {prefix} suele ser algo como /usr/local. También instala páginas de manual en {prefix}/share/man, si se suministran.

  • localmente: esto instala su paquete en el directorio de trabajo actual. Los módulos de nodo entran ./node_modules, los ejecutables entran ./node_modules/.bin/y las páginas de manual no están instaladas en absoluto.

Usted puede obtener su {prefix} con npm config get prefix. (Útil cuando instaló el nodo con nvm).

Respondido 02 ago 16, 14:08

Windows 10: Cuando corrí npm prefix -g, Noté que la ubicación de instalación estaba dentro de la ruta del shell de git que usé para instalar. Incluso cuando esa ubicación se agregó a la ruta, no se reconocería el comando del paquete instalado globalmente. Arreglado por:

  1. correr npm config edit
  2. cambiando el prefijo a 'C: \ Users \ username \ AppData \ Roaming \ npm'
  3. agregando esa ruta a la variable de ruta del sistema
  4. reinstalar el paquete con -g.

Respondido 17 Oct 18, 22:10

Gracias señor, este era el problema real en el que estaba atrapado - Juram Nawaz

Desde el documentos:

Los paquetes se colocan en la carpeta node_modules con el prefijo. Cuando se instala localmente, esto significa que puede requerir ("nombre de paquete") que cargue su módulo principal, o requerir que ("nombre de paquete / lib / ruta / a / sub / módulo") cargue otros módulos.

Las instalaciones globales en sistemas Unix van a {prefix} / lib / node_modules. Las instalaciones globales en Windows van a {prefix} / node_modules (es decir, sin carpeta lib).

Los paquetes con ámbito se instalan de la misma manera, excepto que se agrupan en una subcarpeta de la carpeta correspondiente node_modules con el nombre de ese ámbito como prefijo con el símbolo @, por ejemplo, npm install @ myorg / package colocaría el paquete en {prefix} / node_modules / @ myorg / paquete. Consulte el alcance para obtener más detalles.

Si desea requerir () un paquete, instálelo localmente.

Usted puede obtener su {prefix} con npm config get prefix. (Útil cuando instaló el nodo con nvm).

Lean sobre localmente.
Lean sobre a nivel mundial.

Respondido 25 ago 16, 10:08

En Ubuntu 14.04 están instalados en

/usr/lib/node_modules

Respondido 13 Feb 19, 09:02

Como dicen las otras respuestas, la mejor manera es hacer

npm list -g

Sin embargo, si tiene una gran cantidad de npm paquetes instalados, la salida de este comando puede ser muy larga y un gran dolor para desplazarse hacia arriba (a veces ni siquiera es posible desplazarse tan atrás).

En este caso, canalice la salida al more programa, como este

npm list -g | more

Respondido 22 ago 20, 02:08

  • Hacer eco de la configuración: npm config ls or npm config list

  • Mostrar todas las configuraciones de configuración: npm config ls -l or npm config ls --json

  • Imprime el efectivo nodo_módulos carpeta: npm root or npm root -g

  • Imprime el prefijo local: npm prefix or npm prefix -g

    (Este es el directorio principal más cercano para contener un package.json o presentar nodo_módulos directorio)


Respondido 13 Oct 20, 14:10

Ampliando otras respuestas.

npm list -g

le mostrará la ubicación de los paquetes instalados globalmente.

Si desea generar esa lista en un archivo que luego puede buscar fácilmente en su editor de texto:

npm list -g > ~/Desktop/npmfiles.txt

Respondido 22 ago 20, 02:08

Por cierto, npm buscará node_modules en las carpetas principales (hasta la raíz) si no puede encontrarlo en local.

Respondido el 11 de enero de 19 a las 21:01

Windows 7, 8 y 10 -% PERFIL DE USUARIO% \ AppData \ Roaming \ npm \ node_modules.

Nota: si se encuentra en algún lugar del tipo de carpeta cd .. hasta que estés en C: directorio. Luego, escriba cd %USERPROFILE%\AppData\Roaming\npm\node_modules. Y, mágicamente %USERPROFILE% se convertirá en Users\YourUserProfile\. Solo quería aclarar las ideas referidas por Decko en primera respuesta. npm list -g enumerará todos los bits que tiene instalados globalmente. Si necesita encontrar su proyecto relacionado npm package luego cd 'your angular project xyz', entonces corre npm list. Mostrará una lista de módulos en npm package. También le dará una lista de dependencies falta, y es posible que necesite ejecutar ese proyecto de manera efectiva.

Respondido 13 Feb 19, 21:02

Si está intentando acceder a su directorio global desde el código, puede retroceder desde process.execPath. Por ejemplo, para encontrar wsproxy, Qué esta en {NODE_GLOBAL_DIR}/bin/wsproxy, tu puedes sólo:

path.join(path.dirname(process.execPath), 'wsproxy')

También está cómo npm cli trabaja @ ec9fcc1/lib/npm.js#L254 con:

path.resolve(process.execPath, '..', '..')

Vea también ec9fcc1/lib/install.js#L521:

var globalPackage = path.resolve(npm.globalPrefix,
                                 'lib', 'node_modules', moduleName(pkg))

Dónde globalPrefix tiene un conjunto predeterminado en ec9fcc1/lib/config/defaults.js#L92-L105 de:

if (process.env.PREFIX) {
    globalPrefix = process.env.PREFIX
} else if (process.platform === 'win32') {
    // c:\node\node.exe --> prefix=c:\node\
    globalPrefix = path.dirname(process.execPath)
} else {
    // /usr/local/bin/node --> prefix=/usr/local
    globalPrefix = path.dirname(path.dirname(process.execPath))

    // destdir only is respected on Unix
    if (process.env.DESTDIR) {
        globalPrefix = path.join(process.env.DESTDIR, globalPrefix)
    }
}

Respondido el 09 de Septiembre de 19 a las 10:09

¿Cómo debería funcionar esto? Por ejemplo, el binario de nodo está en /usr/bin/node, pero obviamente (ya que este es el contenedor) los módulos no están ahí; en su lugar están en /usr/lib/node_modules. - Florian Rappl

Actualizado con referencia a npm implementación - AT

Ahora bien, esta es una historia diferente; usted trae la plataforma (buena) y las respectivas variables env (a pesar de no mencionar qué funciones importantes como moduleName están haciendo, pero supongo que el lector promedio podrá inferir). ¡Gracias por la modificación / corrección! - Florian Rappl

Si tiene Visual Studio instalado, encontrará que viene con su propia copia del nodo separada de la que está en la ruta cuando instaló el nodo usted mismo: el mío está en C: \ Archivos de programa (x86) \ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Microsoft \ VisualStudio \ NodeJs.

Si ejecuta el comando npm desde dentro de este directorio, descubrirá qué módulos de nodo están instalados dentro de Visual Studio.

Respondido 22 Oct 19, 10:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.