[[oktatas:web:nodejs|< Node.js]]
====== Npm ======
* **Szerző:** Sallai András
* Copyright (c) 2015, Sallai András
* Szerkesztve: 2015, 2019, 2021, 2024
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Az npmről =====
Az npm a Node.js csomagkezelője. Segítségével újabb csomagok telepíthetők.
===== Telepítés =====
==== Windows ====
A Node.js tartalmazza az npm programot, így nincs teendő.
Ellenőrizzük:
npm --version
==== Debian csomagból ====
apt install npm
==== Legújabb telepítése ====
Ha nincs telepítve a curl, telepítsük:
apt install curl
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt install -y nodejs
Ha így telepítjük a Node.js csomagot, az npm parancsot nem szükséges külön telepíteni.
node --version
npm --version
===== Segítség =====
npm --help
===== Csomagok tárolója =====
A csomagtárolóhoz tartozik egy webhely is:
* https://npmjs.com
A csomagok kereshetők, áttekinthetők.
==== Gyakorlat ====
Látogassuk meg a weboldalt, keressünk titkosító csomagokat. Használjuk kereséshez a crypto szót.
===== A telepített csomagok megjelenítése =====
npm list
Ha még egyetlen csomagot sem telepítettünk, akkor kimenet ehhez hasonló lehet:
/root
└── (empty)
Aliasok:
npm ls
npm la
npm ll
===== Csomagok kezelése =====
==== Telepítés ====
A példa kedvéért telepítsük a generator-angular csomagot:
npm install generator-angular
A csomag alapértelmezetten helyben telepszik.
A telepített csomag neve bekerül a package.json fájlba, a --save hatására, de ez az alapértelmezés:
npm install express --save
Ha szeretnénk tiltani:
npm install express --no-save
==== Listázás ====
Telepített csomagok listázása:
npm list
Globálisan telepített csomagok listázása:
npm -g list
Kimenet csökkentése, mélység csak egy szintig:
npm list --depth 1
==== Telepítés helye ====
Hova telepszenek a csomagok:
npm root list
Hova telepszenek a globális fájlok:
npm root list -g
==== Eltávolítás ====
npm uninstall express
vagy
npm remove express
==== Gyakorlás ====
* 1.
* Készítsen Node.js projektet.
* Telepítse az ini nevű csomagot.
* Írjon egy egyszerű példaprogramot ami ini fájlt olvas vagy ír.
* 2.
* Készítsen Node.js projektet.
* Telepítse a lodash nevű csomagot.
* Készítsen programot ami használja a programozói könyvtárat:
const _ = require('lodash');
console.log(_.chunk(['a', 'b', 'c', 'd'], 2));
* Futtassa a programot a "node src" paranccsal.
* 3.
* Készítsen Node.js projektet.
* Telepítse az moment nevű csomagot.
* Készítsen programot ami használja a programozói könyvtárat:
const moment = require('moment');
console.log(moment().format('MMMM Do YYYY, h:mm:ss a'));
* 4.
* Készítsen Node.js projektet.
* Telepítse az uuid nevű csomagot.
* Készítsen programot ami használja a programozói könyvtárat:
const { v4: uuidv4 } = require('uuid');
console.log(uuidv4());
* 5.
* Készítsen Node.js projektet.
* Telepítse az uuid nevű csomagot.
* Készítsen programot ami használja a programozói könyvtárat:
require('dotenv').config();
console.log(process.env.MY_SECRET);
* 6.
* Készítsen Node.js projektet.
* Telepítse az axios nevű csomagot.
* Készítsen programot ami használja a programozói könyvtárat:
const axios = require('axios');
axios.get('https://api.github.com/users/oktat')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
* 7.
* Készítsen Node.js projektet.
* Telepítse az is-odd nevű csomagot.
* Készítsen programot ami használja a programozói könyvtárat.
* Mutassa be a csomag használatát.
===== npx =====
Az npx az npm bináris csomagok futtató parancsa. Az aktuális projektbe telepített parancsok az npx paranccsal futtathatók.
Például:
npx react-native
Ha a csomag tartalmaz futtatható parancsot is, akkor az a node_modules/.bin/ könyvtárba telepszik.
Lássuk például a cowsay csomagot. Telepítsük:
npm install cowsay
Ellenőrizzük a node_modules/.bin/ könyvtár tartalmát. Láthatjuk, hogy kaptunk két parancsot:
* cowsay
* cowthink
Futtassuk például a cowsay parancsot:
npx cowsay
Egy segítő szöveget találunk, amely leírja hogyan kell használni a parancsot. Adjunk valami szöveget a cowsay parancs után. Például:
npx cowsay Helló
==== Gyakorlás ====
* 1.
* Telepítse a **network-address** nevű csomagot.
* Derítse ki, milyen parancsot kapott, és hogyan használhatja azt az npx parancsot.
* 2.
* Telepítse a **figlet** csomagot.
* Derítse ki mire használható.
* Mutassa be a használatát.
* 3.
* Telepítse a **eslint** csomagot.
* Derítse ki mire használható.
* Mutassa be a használatát.
* 4.
* Telepítse a **serve** csomagot.
* Derítse ki mire használható.
* Mutassa be a használatát.
===== Proxy =====
Ha az Internet eléréshez proxy-t kell használni:
Példa:
npm install --proxy http://192.168.10.2:3128 --global lite-server
===== Forrás =====
* https://github.com/nodesource/distributions/blob/master/README.md#debinstall (2019)