Ez a dokumentum egy előző változata!
Tartalomjegyzék
Node.js telepítés
- Szerző: Sallai András
- Copyright © 2020, Sallai András
- Szerkesztve: 2020-2025
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Bevezetés
A Node.js JavaScript futtató eszköz. Eredetileg szerveroldali használatra lett létrehozva.
Ajánlott az LTS verzió telepítése.
Kiadási táblázat:
Telepítés Linuxon
Telepítés Debian csomagból
apt install nodejs apt install npm
Debian GNU/Linux rendszeren a Node.js a nodejs csomagból telepíthető. Nem tévesztendő össze a node csomaggal, amely Amateur Packet Radio Node programot tartalmazza. Utóbbi rendszergazdaként a „node” paranccsal futtatható. Ha csak a nodejs programot telepítjük, akkor létrehozhatunk rá egy node nevű szimbolikus linket.
Legújabb telepítése
Debianos elérés:
- https://deb.nodesource.com/ (2024)
Telepítés előtt
apt install curl
Opcionális:
apt install gcc g++ make
Telepítés
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - apt update apt install nodejs
A setup_16.x, a 2021-ben használható telepítő verziója. Az aktuális verziót keressük az alábbi weblapok egyikén:
Opcionális
apt install yarn
Telepítés Windowson
Chocolatey csomagkezelővel
choco install nodejs
Webhelyről
Töltsük le a weboldaláról:
Lehetőségünk van a következőkre:
Windows Installer (.msi) | 32-bit | 64-bit |
Windows Binary (.zip) | 32-bit | 64-bit |
A telepítős változat (.msi) beteszi a node parancsot az útvonalba.
Ellenőrzés
node parancs
Telepítés után ellenőrizzük a node parancs meglétét:
node --version
Helló Világ
Állomány szerkesztése:
nano hello.js
Tartalom:
- hello.js
console.log('Helló Világ');
Futtatás:
node hello.js
Az npm frissítése
Melyik verzió van a gépünkön?
npm -v
Melyik a legújabb kiadás:
-
- Jobboldalon keressük a Releases részt.
Frissítés:
npm install -g npm@latest
Vagy:
npm install -g npm@next
Node.js frissítés
Használjuk az n modult vagy az nvm parancsot.
Cache frissítés:
npm cache clean -f
Az n modul telepítése:
npm install -g n
Frissítés rendszergazdaként:
n stable
Docker Composer
Legyen egy egyszerű HTTP szerver. Könyvtárszerkezet:
app01/ |-docker-compose.yaml `-index.js
- docker-compose.yml
services: node: image: node container_name: node1 working_dir: /home/node/app environment: - NODE_ENV=production ports: - 8000:8000 volumes: - .:/home/node/app command: ["node", "index.js"]
Indítás:
docker-compose up -d
vagy1):
docker compose up -d
Forrás:
Docker compose függőséggel
Legyen a példa kedvéért egy olyan projekt, ahol függőség is van. Egy express miniszervert fogunk készíteni.
Könyvtárszerkezet:
app01/ |-docker-compose.yaml |-Dockerfile |-index.js `-package.json
Minimális package.json fájl:
- package.json
{ "dependencies": { "express": "^4.18.2" } }
A szerver:
- index.js
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('helló') }); app.listen(8000, () => { console.log('Server is running on port 8000'); });
Kell egy Dockerfile, ahol telepítjük a függőségeket:
- Dockerfile
FROM node:22-alpine WORKDIR /home/node/app COPY package.json ./ RUN npm install
Indítás:
- docker-compose.yaml
services: node: build: context: . dockerfile: Dockerfile container_name: express1 environment: - NODE_ENV=production ports: - 8000:8000 volumes: - .:/home/node/app - /home/node/app/node_modules command: ["node", "index.js"]
Indítás:
docker compose up
Az environment jelenleg nincs használatban, csak egy példa.
Fejlesztés Node.js nélkül
A következő példában csak a Docker konténerben van Node.js telepítve, de a fejlesztés a host gépen 2) fut.
A 22-s Node.js verziót szeretnénk használni.
Könyvtár szerkezet:
projekt01/ |-app/ | `-index.js |-docker-compose.yml |-Dockerfile `package.json
- package.json
{ "scripts": { "start": "node app/index.js" }, "dependencies": { "express": "^4.18.2" } }
- app/index.js
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('helló') }); app.listen(3000);
- Dockerfile
FROM node:22-alpine COPY package.json ./ RUN npm install
- docker-compose.yml
services: app-dev: build: context: . dockerfile: Dockerfile volumes: - .:/app - /app/node_modules ports: - "8000:3000" command: ["npm", "start"]
Ebben az esetben a konténerben 3000-s porton fut az alkalmazást, de hoston 8000-s porton érhető el.
Teszteljünk egy HTTP klienssel:
res localhost:8000
Verzió ellenőrzése
- app/index.js
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send(process.version) }); app.listen(3000);
nodemon használata
- package.json
{ "scripts": { "start": "npx nodemon app --watch app" }, "dependencies": { "express": "^4.18.2" }, "devDependencies": { "nodemon": "^2.0.20" } }
Próbáljuk ki a nodemon működését. Például tegyük többes számba a verziót, vagy adjunk vissza valami más szöveget:
res.send(process.versions)