Node Para Principiantes - Introducción a NPM y el manejo de paquetes en JavaScript

Portada original del blog de NPM

Si recuerdan la guía en la que instalamos Node.JS recordarán que con la instalación mencioné que venía un administrador o manejador de paquetes llamado NPM, hoy vamos a ver qué es y a empezar a trabajar con él.

Si instalaron Node.JS ya tienen NPM instalado, si no vayan a instalar Node.JS y NPM ahora.

Comprobemos por si acaso

Si queremos asegurarnos de que hemos instalado correctamente NPM, debemos abrir la terminar y preguntarle su versión(si la devuelve significa que existe un elemento llamado NPM con una versión concreta, sinónimo de que está instalado), para preguntarle por la versión

$ npm -v

Si todo está correcto les devolverá algo así:

[email protected]:~$ npm -v  
3.5.2

Listo. ¿Pero qué es NPM?

NPM(Gestor de Paquetes de Node, por sus siglas en inglés de Node Package Manager) actualmente, es el gestor de paquestes(o módulos) de JavaScript tanto del FrontEnd como del BackEnd, tiene desde jQuery(librería del FrontEnd para hacer JavaScript más fácil) hasta módulos del BackEnd(Node) que veremos más adelante como Express(Un framework para construir aplicaciones web fácilemente).

Cómo instalar paquetes y tipos de instalación

Desde el sitio o desde la consola usando el comando npm search [busqueda] podremos buscar el paquete que queremos añadir a nuestro proyecto antes de hacer ninguna instalación.

Tenemos la oportunidad de instalar paquetes de manera global(para todo el sistema operativo), este tipo de paquetes pueden ser compiladores de CSS, generadores de proyectos... o podemos instalar el paquete a nivel de proyecto como dependencia de desarrollo y producción o como solo de desarrollo, hay que tener muy en cuenta esto antes de instalar nada.

Para esta ocasión vamos a instalar el módulo ghost-client que yo mismo desarrollé, a breves rasgos, sirve para conectarnos al API de Ghost pero si les interesa más háganle click al nombre y les llevará al módulo :)

Haré todos los comandos por consola, ya que la consola es nuestra amiga y nos va a ayudar en todo.

  1. Búsqueda del módulo usando npm search
[email protected]:~$ npm search ghost-client  
NAME         DESCRIPTION            AUTHOR      DATE  
ghost-client A ghost client to... =miguhruiz 2016-01-03  
  1. Instalación del módulo usando npm install

    • Para instalar globalmente:

      $ npm install ghost-client -g

    • Para instalar como dependencia de desarrollo y producción(especificándolo en el package.json):

      $ npm install ghost-client --save

    • Para instalar como dependencia de desarrollo(especificándolo en el package.json):

      $ npm install ghost-client --save-dev

Listo! Ya tenemos instalado nuestro modulo! Ahora podemos requerirlo en un archivo tal y como hacíamos en el post anterior con fs y con http:

import ghost from 'ghost-client'  

¿Qué mas puedo hacer con NPM?

Con el comando npm --help nos desplegará todo lo que puede hacer el gestor de paquetes por nosotros:

Usage: npm <command>

where <command> is one of:  
    access, add-user, adduser, apihelp, author, bin, bugs, c,
    cache, completion, config, ddp, dedupe, deprecate, dist-tag,
    dist-tags, docs, edit, explore, faq, find, find-dupes, get,
    help, help-search, home, i, info, init, install,
    install-test, issues, it, la, link, list, ll, ln, login,
    logout, ls, outdated, owner, pack, ping, prefix, prune,
    publish, r, rb, rebuild, remove, repo, restart, rm, root,
    run-script, s, se, search, set, show, shrinkwrap, star,
    stars, start, stop, t, tag, team, test, tst, un, uninstall,
    unlink, unpublish, unstar, up, update, upgrade, v, verison,
    version, view, whoami

npm <cmd> -h     quick help on <cmd>  
npm -l           display full usage info  
npm faq          commonly asked questions  
npm help <term>  search for help on <term>  
npm help npm     involved overview

Specify configs in the ini-formatted file:  
    /home/miguhruiz/.npmrc
or on the command line via: npm <command> --key value  
Config info can be viewed via: npm help config

[email protected] /home/miguhruiz/.nvm/versions/node/v4.2.4/lib/node_modules/npm

Recuerda compartir este artículo para que más personas puedan llegar a el y no dudes en hacerme cualquier pregunta haciendo click aquí.

Enlaces Relacionados

Documentación de NPM

Node Para Principiantes - Instalación de Node.JS en Linux, Mac y Windows

Node para Principiantes - Creando nuestro primer servidor con 'http' y sirviendo archivos estáticos usando 'fs'

Módulo ghost-client en NPM