Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:nodejs:telepites

Ez a dokumentum egy előző változata!


< Node.js

Node.js telepítés

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:

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:

2021-08-26-án Az Angular LTS kiadása 11.x. Ehhez kompatibilis a 10-s NodeJS.

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:

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)
1)
Régebbi docker változatoknál a compose így volt elérhető: dockedr-compose. Újabban nem kell a kötőjel, mivel a composer egy bővítménye lett a docker prancsnak.
2)
A host gép, amin fut a konténer
oktatas/web/nodejs/telepites.1754740699.txt.gz · Utolsó módosítás: 2025/08/09 13:58 szerkesztette: admin