Servidores en la nube Ayuda

Bup bip bop… iniciando secuencia 42…
¡Llegaron los robots! Han tomado el control y tradujeron esta página a tu idioma local. Sus corazoncitos de metal solo tienen las mejores intenciones. ¡Quieren ayudar! Dinos si están haciendo un buen trabajo con los botones al final de la página. Ve a la versión en inglés

Utilice npm administrar paquetes de Node.js

NODE Pexclusivo de Sony Mgestor o NPM de forma abreviada, es una herramienta de línea de comandos para instalar y administrar programas de nodo distinto y paquetes de Javascript, como Angular.js, Express.js y muchos otros. NPM tiene muchas herramientas diferentes para mantener su entorno Node.js. Esta guía se cubren muchas de estas herramientas y demostrar cómo instalar y usar estos paquetes.

Requisitos previos

Antes de utilizar a esta guía, asegúrese de que tiene Node.js y MNP instalado en el servidor. Si no tiene Node.js y MNP instalado, siga las instrucciones de instalación para Node.js y MNP en el Guía de instalación de Node.js.

Comandos básicos de NPM

  • Para obtener una lista de los subcomandos de:
    npm help
    Usage: npm command

    where command is one of:

        add-user, adduser, apihelp, author, bin, bugs, c, cache,
        completion, config, ddp, dedupe, deprecate, docs, edit,
        explore, faq, find, find-dupes, get, help, help-search,
    . . .
  • Para obtener un resumen breve de lo que hace cada comando:
    npm -l
    Usage: npm command

    where command is one of:

       adduser   npm adduser
                 Then enter stuff at the prompts.

       bin       npm bin
                 npm bin -g
                (just prints the bin folder)

    . . .
  • Para obtener una visión más detallada de cada comando:
    npm help subcommand
  • Si no está seguro de que el comando que realiza la acción que desea realizar, también puede buscar dentro de los temas de ayuda:
    npm help-search search_term



Información del sistema

Ahora que está configurado npm y sabe cómo tener acceso al archivo de ayuda, nos podemos empezar a explorar. Veremos comience por aprender cómo pedir información sobre nuestro sistema en el que se relaciona con npm, pero antes de hacerlo, hablemos sobre la diferencia de los paquetes locales vs paquetes globales.

Paquetes global vs local

Cuando se crea una aplicación de Node.js, crea una estructura de directorios que contiene la aplicación. En esta estructura existe un subdirectorio denominado node_modules. Este directorio contiene todos los módulos que pueden instalarse localmente.

  • Cree una estructura de directorios vacía que servirá como el directorio del paquete. Por ejemplo:
    mkdir -p ~/projects/test_package/node_modules
  • Desplácese al directorio que acaba de crear:
    cd ~/projects/test_package

Puede utilizar el código de Javascript normal requieren) método utilizar localmente los módulos instalados. En la mayoría de los casos, es lo que necesita para un paquete.

Si necesita capacidades de línea de comandos para un paquete, debe instalar dicho paquete globalmente. Aplicaciones instaladas de forma global se almacenan en el directorio ~/.npm/. Sus comandos funcionará en todas las aplicaciones de Node.js en el servidor. Sin embargo, no se puede utilizar paquetes instalados globalmente con Javascript requieren).

De manera predeterminada la mayoría de los comandos de npm supondrá que hace referencia a los paquetes locales. Si no está haciendo referencia a un paquete local, utilizaría el -g o--indicadores globales.

Paquetes de lista instalado

  • Lista paquetes locales en nuestro directorio de prueba:
    npm ls
    /home/demouser/projects/test_package
    └── (empty)

    NPM ls mostrará como vacío puesto que todavía no hemos instalamos los paquetes Node.js. Sin embargo, npm instalará algunos paquetes globalmente de forma predeterminada.

  • Utilice el indicador -g para ver los paquetes:
    npm ls -g
    /home/demouser/.nvm/v0.11.13/lib
      └─┬ npm@1.4.9
        ├── abbrev@1.0.4
        ├── ansi@0.2.1
        ├── ansicolors@0.3.2
        ├── ansistyles@0.1.3
        ├── archy@0.0.2
    . . .

    Como visto anteriormente, existen bastantes paquetes globales. Hay otras opciones que puede utilizar para modificar el resultado. Por ejemplo, puede utilizar los indicadores -l o - a para mostrar información adicional.


Otra información de la lista

  • Aparte de los paquetes instalados, podemos consultar npm sobre otra información:
    npm root
    raíz de NPM debe mostrar el siguiente resultado:
    /home/demouser/projects/test_package/node_modules


  • La ruta de acceso de nivel superior para el paquete que se está trabajando en la lista:
    npm prefix
    /home/demouser/projects/test_package

    También puede utilizar el indicador -g para ver dónde se están almacenando los archivos globales.


  • Uso NPM bin la lista donde npm instala los ejecutables:
    npm bin
    NPM bin debe mostrar el siguiente resultado:
    /home/demouser/projects/test_package/node_modules/.bin

Explorar archivos de un paquete

  • Mediante el uso de la explorar subcomando, puede rápidamente ir al directorio donde está instalado el paquete:
    npm explore -g npm
    Exploring /home/demouser/.nvm/v0.11.13/lib/node_modules/npm

    Cuando haya terminado puede escribir 'exit' o ^ D.

  • Cuando haya terminado de salida:
    exit

Buscar paquetes

Para localizar un paquete de Node.js, puede simplemente buscar mediante npm. Por ejemplo, si se necesita el paquete express para nuestro (proyecto)Express.js es un marco web), podemos buscar para dicho paquete en los archivos de paquete de NGP. Estos archivos se encuentran en el sitio Web de NPM.

  • Utilice npm para buscar Express.
    npm search express

    Ya que esto generará una lista muy larga, es mejor en la canalización en menos Para hacerlo más fácil de ver.

  • Otra forma de hacerlo es mediante una expresión regular:
    npm search /^express\[\ \]
    NAME      DESCRIPTION                               AUTHOR DATE VERSION
    express   Sinatra inspiblue web development framework =tjholowaychuk… 2014-05-12 4.2.0

    Si recibe demasiados resultados, puede ser conveniente ir a la sitio Web de NPM. para buscar el nombre del paquete. Una vez que conozca el nombre del paquete, puede instalarlo.

  • Porque necesitamos funcionalidad de línea de comandos, instalaremos express global:
    npm install -g express

    Esta descarga y también instala el paquete express, así como todas sus dependencias en el directorio raíz de npm global.

  • Si necesita el paquete en el directorio del módulo de la aplicación local para que pueda incluirse dentro de la aplicación con un require() línea:
    cd ~/projects/test_package
    npm install express

Desinstalar, deduplicar, podar y vincular los paquetes

Porque queremos el paquete en nuestro alcance global y local, debemos darle una forma para que el paquete esté disponible en ambas ubicaciones.

  • Por ejemplo, nosotros podemos desinstalar nuestra versión local del paquete:
    npm uninstall express
  • Podemos decirle npm que queremos vincular nuestra copia global del paquete local:
    npm link express

    Esto crea un vínculo simbólico en nuestro node_modules directorio que señale a nuestro paquete global que pone a disposición en ambas ubicaciones. También puede realizar el inverso de este desinstalar la versión global, a continuación, entrar en el paquete local y globalmente la vinculación.

  • Desinstalar el paquete global y vínculo local:
    npm uninstall express # This removes the symbolic link in local npm uninstall -g express # This removes the actual package in global

  • Vuelva a instalarlo como un paquete local:
    npm install express

    Mientras el paquete esté en nuestro directorio de aplicación local (~/projects/test_package/node_modules), no se instala globalmente.


  • Para vincular a nivel global, podemos ir al directorio del paquete y llamar el subcomando vínculo sin argumentos.
    cd ~/projects/test_package/node_modules/express
    npm link

    Ahora que tiene los archivos y la estructura de directorios adecuada, nos podríamos usar el mismo procedimiento para poner a disposición de otros paquetes que creamos nuestro paquete de prueba. Algunos paquetes habrá dependencias compartidas. Por ejemplo, si el directorio del paquete tiene dos módulos que necesita cada uno un paquete denominado A, dicho paquete se instalará dos veces: una vez en paquete1/nodemodules/Ay una vez bajo Package2/nodemodules/A.


  • Podemos utilizar la dedupe subcomando para buscar estos casos y Subir un nivel en las dependencias compartidas. Esto permite que ambos paquetes encontrar la instalación única de la dependencia.
  • Las dependencias de los paquetes en el directorio express de deduplicación:
    cd ~/projects/test_package/node_modules/express
    npm dedupe

    Esto buscará los dos paquetes (mina y depuración). El módulo de depuración es una dependencia de otro módulo express llamada "Enviar". Esto normalmente se haría desduplicado, pero dado que hay un conflicto de versiones, no se hace nada.

    Por ejemplo, si se ha movido hacia arriba mediante el uso de las dependencias dedupe, pero a continuación, desinstalar los paquetes que anteriormente asumía el paquete de dependencia, la dependencia no se quita debido a que ya no es dentro del subdirectorio de paquetes.

    Para solucionar este problema, puede indicar a npm "podar" los paquetes que no son necesarios en el sistema. Esto se refiere a los paquetes que no se enumeran en padre lista de dependencias del paquete.

  • Quite las dependencias no deseadas:
    npm prune

Buscar y actualizar paquetes obsoletos

  • Buscar paquetes obsoletos:
    npm outdated
    . . .
    Package  Current  Wanted  Latest   Location
    type-is  1.1.0    1.1.0   1.2.0    express > type-is
    debug    0.8.0    0.8.0 0.8.1      express > send > debug

    Aparecerán en una lista los paquetes que tengan una versión más reciente disponible. Muestra las aplicaciones instaladas, solicite qué la aplicación y qué se diferencia de la versión actual.

  • Para actualizar los paquetes, deberá modificar la versión solicitada en "package.json" del paquete seguido de la actualización comando:
    npm update

Paso siguiente

Más info


¿Este artículo fue útil?
Gracias por tus comentarios
¡Nos complace haber ayudado! ¿Hay algo más que podamos hacer por ti?
Lo sentimos. ¿Cómo podríamos ser de más utilidad?