NPM
npm é un xestor de paquetes para Node.js. Este xestor permite instalar, compartir e distribuír código ademais de xestionar as dependencias dun proxecto.
Instalación en Debian
Para instalar npm debemos instalar Node.js:
Actualizamos a lista de paquetes:
sudo apt update
Instalamos cURL:
sudo apt install curl gnupg
Baixamos o script para instalar o repositorio da versión LTS de node:
sudo curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
Actualizamos de novo a lista de paquetes:
sudo apt update
Instalamos Node.js:
sudo apt install nodejs
Podemos ver as versións de Node.js e npm do seguinte xeito:
$ node -v
$ npm -v
Ficheiros
Cada proxecto conta cun dous ficheiros de dependencias de nome package.json e package-lock.json. Estes funcionan de xeito similar aos ficheiros de dependencias de Composer.
Cada vez que se instala un paquete, se actualiza ou elimina, actualízanse o ficheiro package.json e package-lock.json.
Ficheiro package.json
Vexamos un exemplo de package.json:
{
"name": "proxecto-exemplo",
"version": "1.0.0",
"description": "Un proxecto de exemplo con Node.js",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "echo \"Sen probas\" && exit 0"
},
"author": "Nome Apelido",
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"nodemon": "^3.0.0"
}
}
| Campo | Explicación |
|---|---|
"name" | Nome do paquete/proxecto. Debe ser único se se publica en npm. |
"version" | Versión do proxecto |
"description" | Pequena descrición do que fai. |
"main" | O ficheiro principal que se importa se alguén require este paquete. |
"scripts" | Comandos personalizados que se poden executar con npm run <nome>. |
"author" | Nome do autor (ou equipo). |
"dependencies" | Paquetes que o proxecto necesita para funcionar. |
"devDependencies" | Paquetes necesarios só durante o desenvolvemento |
Ao igual que Composer, en package.json pódese xestionar que que versión instalar:
| Símbolo | Que fai |
|---|---|
"^4.18.2" | Instala calquera versión compatible con 4.x.x (evita cambios maiores). |
"~4.18.2" | Só permite cambios no último número: 4.18.x |
"4.18.2" | Exactamente esa versión. |
">=4.0.0 <5.0.0" | Rango de versións aceptadas. |
"latest" | A versión máis recente (similar ao *, pero explícito). |
Os paquetes almacénanse no directorio de nome node_modules dentro do proxecto.
Comandos
Algúns comandos básicos de npm:
npm init: Crea un novopackage.json.$ npm install <paquete>: instala un paquete.$ npm install <paquete>@<version>: instala un versión concreta dun paquete.$ npm install <paquete> --save-dev: instala un paquete só para desenvolvemento.$ npm install <paquete>@<version> --save-dev: instala un versión concreta dun paquete só para desenvolvemento.$ npm install --save-dev: instala as dependencias do ficheiropackage.json.