ViraStack
  • Akademi
  • Hakkında
  • Destek
Genel BakışKaynaklarKatkı
ViraStack

Frontend geliştiricileri için DX odaklı araç seti: starter’lar, ajan kuralları, form hook’ları ve rehber.

Ürünler

  • ViraStack Start
  • ViraStack AI
  • ViraStack Mask
  • ViraStack Password
  • ViraStack Guide

Keşfet

  • Akademi
  • Hakkında
  • Marka
  • Destek

© 2026 ViraStack.

Açık kaynak · MIT

Web Temelleri

02 / 07

Terminal ve npm

Temel komutlar, Node kurulumu ve paket yönetimi.

Terminal Nedir?

Terminal, programları yazı yazarak çalıştırdığınız metin tabanlı arayüzdür. Teknik olarak terminal, bir shell başlatıp ona bağlanan programdır; komutları yorumlayan shell'dir. Günlük kullanımda iki kelime aynı anlamda kullanılır.1

macOS Terminal penceresi: zsh shell'i açık, ev klasöründe (~) komut bekleyen boş bir satır

Frontend geliştirirken terminali her gün açarsınız: paket kurmak, geliştirme sunucusunu başlatmak, build almak ve Git için.2

SistemNe kullanılır
macOSUygulamalar/İzlenceler/Terminal
LinuxUygulamalardaki terminal
WindowsWSL (Windows Subsystem for Linux); cmd Unix komutlarıyla aynı çalışmaz

MDN, Windows'ta WSL kurmayı açıkça öneriyor.1 VS Code'un içindeki terminal de iyi bir başlangıçtır; editörden çıkmadan komut çalıştırırsınız.2

Temel Komutlar

KomutNe yapar
pwdŞu an hangi klasörde olduğunuzu yazar
lsKlasördeki dosyaları listeler (ls -la gizli dosyalarla, ayrıntılı)
cd projeproje klasörüne girer
cd ..Bir üst klasöre çıkar
cd ~Ev klasörünüze döner
mkdir projeYeni klasör açar
touch index.htmlBoş dosya oluşturur
cp a.txt b.txtKopyalar
mv a.txt b.txtTaşır ya da yeniden adlandırır
rm a.txtSiler; rm -r klasor klasörü içindekilerle siler

. bulunduğunuz klasör, .. bir üst klasördür.2 -l gibi tireyle başlayan ekler flag'dir ve komutun davranışını değiştirir; -la gibi birleştirilebilirler.12 Bir komutun nasıl kullanıldığını man ls ya da çoğu araçta --help ile görürsünüz.3

Yap

  • Yolları yazarken Tab'a basın; terminal klasör ve dosya adını tamamlar.2

  • Önceki komutları ↑ ile geri getirin.1

  • Çalışan bir komutu (örneğin geliştirme sunucusunu) Ctrl + C ile durdurun.2

Hata

rm ile silinen dosya çöp kutusuna gitmez, geri getirilemez. rm -r bir klasörü tamamen siler; çalıştırmadan önce hangi klasörde olduğunuzu pwd ile kontrol edin.1

Node.js Kurulumu

Node.js, JavaScript'i tarayıcı dışında çalıştıran bir ortamdır; Chrome'un V8 motorunu kullanır.4 React kodunuz tarayıcıda çalışsa da Vite, Next.js, ESLint ve test araçları Node üzerinde çalışır. Node'u kurduğunuzda npm ve npx de gelir.1

Node'un çift sayılı sürümleri LTS (long-term support) olur. Node.js ekibi, gerçek projelerde yalnızca LTS sürümlerin kullanılmasını önerir. Ekim 2026 itibarıyla LTS sürüm Node 24, en yeni sürüm Node 26'dır. Node 27'den itibaren yılda bir sürüm çıkacak ve her sürüm LTS olacak.5

Node'u doğrudan değil, bir sürüm yöneticisiyle kurmak iyi bir alışkanlıktır: farklı projeler farklı Node sürümleri isteyebilir. macOS, Linux ve WSL'de en yaygını nvm'dir:6

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.7/install.sh | bash
nvm install --lts
node -v
npm -v

Proje kökündeki .nvmrc dosyasına sürüm yazarsanız (24 gibi), o klasörde nvm use doğru sürüme geçer.6 nvm Windows'ta doğrudan çalışmaz; WSL kullanmıyorsanız nodejs.org'dan LTS kurulum dosyasını indirin.67

npm ve package.json

npm, hem paket yöneticisi hem de JavaScript paketlerinin tutulduğu en yaygın registry'dir. Paket yöneticisi, projenin kullandığı başkalarının yazdığı kodu (dependency) indirir, saklar ve kaldırır.8

Her projenin kökünde bir package.json bulunur. Projenin adını, script'lerini ve bağımlılıklarını tutar:89

{
  "name": "virastack",
  "private": true,
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  "dependencies": {
    "react": "^19.3.0"
  },
  "devDependencies": {
    "vite": "^8.3.0"
  }
}
  • dependencies: Kaynak kodunuzun import ettiği paketler (React gibi).

  • devDependencies: Yalnızca geliştirirken kullanılan araçlar (Vite, ESLint, Vitest gibi).89

  • private: true: Projenin yanlışlıkla npm'e yayınlanmasını engeller.8

Sık kullanılan komutlar

Projedeki tüm paketleri kurmak için proje klasöründe npm install çalıştırın. Yeni bir paket eklemek için:

$ pnpm add react

Yalnızca geliştirmede kullanılacak bir araç için -D ekleyin; paket devDependencies'e yazılır:8

$ pnpm add -D vite

scripts altındaki bir komutu çalıştırmak için:10

$ pnpm dev

Script'ler projenin kendi node_modules klasöründeki araçları bulur, bu yüzden Vite'ı ayrıca global kurmanız gerekmez.810 Bir paketi kurmadan tek seferlik çalıştırmak için npx vardır; paket projede yoksa indirmeden önce size sorar.11

Sürüm aralıkları

Paket sürümleri MAJOR.MINOR.PATCH biçimindedir. package.json'daki işaret, npm install çalıştığında hangi güncellemelerin kabul edileceğini belirler:128

YazımKabul ederÖrnek: 1.0.4 için
~1.0.4Yalnızca patch1.0.x
^1.0.4Minor ve patch1.x.x, ama 2.0.0 değil
1.0.4Yalnızca bu sürüm

Lockfile ve node_modules

npm install, paketleri node_modules klasörüne indirir ve tam olarak hangi sürümlerin kurulduğunu package-lock.json'a yazar. Lockfile değişmediği sürece herkesin bilgisayarında aynı node_modules oluşur.8

Yap

  • package.json ve lockfile'ı Git'e ekleyin.

  • node_modules'u .gitignore'a yazın; npm install onu her zaman yeniden oluşturur.8

  • CI'da npm ci kullanın: lockfile'a birebir uyar, uyuşmazlıkta hata verir ve dosyaları değiştirmez.13

pnpm

pnpm, npm ile aynı package.json'u ve aynı registry'yi kullanan alternatif bir paket yöneticisidir.8 Farkı paketleri saklama biçimidir: her paket sürümünü diskte tek bir yerde tutar ve projelere hard link ile bağlar. On projede aynı React sürümü varsa diskte bir kopyası olur. Ayrıca projenin yalnızca package.json'da yazan paketleri import etmesine izin verir; npm'de ise yazmadığınız bir alt bağımlılığı yanlışlıkla kullanabilirsiniz.1415

ViraStack projeleri pnpm kullanır. Node kuruluysa pnpm'i şu komutla kurabilirsiniz:16

npx get-pnpm
İşnpmpnpm
Tüm paketleri kurnpm installpnpm install
Paket eklenpm install reactpnpm add react
Geliştirme aracı eklenpm install -D vitepnpm add -D vite
Script çalıştırnpm run devpnpm dev
Tek seferlik çalıştırnpx <paket>pnpm dlx <paket>
Lockfilepackage-lock.jsonpnpm-lock.yaml

pnpm'de pnpm dev, pnpm run dev'in kısaltmasıdır; script adı pnpm'in kendi bir komutuyla çakışmadığı sürece çalışır.1718

Uyarı

Bir projede tek paket yöneticisi kullanın. Projede pnpm-lock.yaml varsa npm install değil pnpm install çalıştırın.8

İlk Projeyi Çalıştırmak

Yeni bir React projesi açmak için Vite'ın kurulum aracını çalıştırın. Proje adını ve framework olarak React'i sorar:19

$ pnpm create vite@latest

Ardından proje klasörüne girip paketleri kurun ve geliştirme sunucusunu başlatın:

cd virastack
pnpm install
pnpm dev

Sayfa http://localhost:5173 adresinde açılır.19 Dosyayı kaydettiğinizde tarayıcı güncellenir. İşiniz bitince terminalde Ctrl + C ile sunucuyu durdurun.2

Paketlere Güvenmek

Paket kurmak, başkasının yazdığı kodu bilgisayarınızda çalıştırmak demektir. Bazı paketler kurulurken kendi script'lerini de çalıştırır. Bu yüzden iki paket yöneticisi de varsayılanlarını sıkılaştırdı:

  • npm 12 (Temmuz 2026), bağımlılıkların preinstall, install ve postinstall script'lerini artık izin vermediğiniz sürece çalıştırmıyor. Güvendiğiniz paketleri npm approve-scripts ile onaylayıp package.json'a yazarsınız.20

  • pnpm, bağımlılıkların kurulum script'lerini v10'dan beri çalıştırmıyor; izin verilecek paketler allowBuilds ile listelenir. Ayrıca bir günden yeni yayınlanmış sürümleri varsayılan olarak kurmuyor (minimumReleaseAge).21

İpucu

Kurulumda bir paketin script'inin atlandığını söyleyen bir uyarı görürseniz, paketi tanıyorsanız onaylayın, tanımıyorsanız önce araştırın.

Detaylı Öğrenmek İçin

  • Terminal, frontend gözüyle: Josh W. Comeau'nun React geliştiricileri için yazdığı terminal rehberi.2

  • Shell'i baştan sona: MIT'nin Missing Semester dersinin shell bölümü; yolları, $PATH'i, pipe'ları ve yönlendirmeyi anlatır, videosuyla birlikte.3

  • Paket yönetimi: MDN'in npm ile sıfırdan bir proje kurduğu rehberi.8

  • Konuşma: Tally Barak'ın node_modules'un neden böyle olduğunu ve lockfile'ları anlattığı Node Congress 2022 konuşması (9 dk).22

  • Konuşma: pnpm'in yazarı Zoltan Kochan'ın pnpm'in nasıl çalıştığını anlattığı DevOps.js Conf 2022 konuşması (31 dk).15

Kaynaklar

  • 1DokümanMDN: Command line crash course

    Terminal ve shell farkı, işletim sistemine göre terminal, Windows için WSL önerisi, temel komutlar, Tab, `rm`'in geri alınamaması, npm ve npx'in Node ile gelmesi.

  • 2MakaleJosh W. Comeau: The Front-End Developer's Guide to the Terminal

    `pwd`, `cd`, `.`, `..`, `~`, flag'ler, Tab, `Ctrl` + `C` ile sunucuyu durdurmak; VS Code terminali ve Windows için WSL.

  • 3VideoMIT Missing Semester 2026: Course Overview + Introduction to the Shell

    Yaklaşık 1 saatlik ders ve notları: yollar, `man` ve `--help`, `$PATH`, pipe ve yönlendirme.

  • 4DokümanNode.js: Introduction to Node.js

    Node'un V8 motorunu tarayıcı dışında çalıştıran bir JavaScript ortamı olması.

  • 5DokümanNode.js: Node.js Releases

    Sürüm tablosu, gerçek projelerde yalnızca LTS önerisi ve Node 27'den itibaren yıllık sürüm düzeni.

  • 6Dokümannvm

    Kurulum komutu, `nvm install --lts`, `.nvmrc` ve Windows desteği.

  • 7DokümanNode.js: Download

    Resmi kurulum dosyaları; LTS sürüm önceden seçili.

  • 8DokümanMDN: Package management basics

    Dependency, `package.json`, `dependencies` ve `devDependencies`, lockfile, `node_modules`'un Git'e girmemesi, script'ler, `^`, pnpm ve tek paket yöneticisi kullanmak.

  • 9Dokümannpm Docs: package.json

    Alanların resmi tanımı; geliştirme araçlarının `devDependencies`'e yazılması.

  • 10Dokümannpm Docs: scripts

    `npm run`, `node_modules/.bin`'in script'lerde `PATH`'e eklenmesi, pre ve post script'ler.

  • 11Dokümannpm Docs: npx

    Yerel ya da uzaktaki bir paketten komut çalıştırmak; kurmadan önce sorması.

  • 12Dokümannpm Docs: About semantic versioning

    Patch, minor ve major; `~` ve `^` örnekleri.

  • 13Dokümannpm Docs: npm ci

    `npm install`'dan farkları: lockfile zorunlu, uyuşmazlıkta hata, dosyaları değiştirmez.

  • 14Dokümanpnpm: Motivation

    Tek depo ve hard link ile disk tasarrufu, katı `node_modules` yapısı, hız.

  • 15VideoZoltan Kochan: pnpm, a Fast, Disk Space Efficient Package Manager (DevOps.js Conf 2022)

    31 dakika. pnpm'in bağımlılıkları nasıl izole ettiği, hard link'ler ve monorepo desteği.

  • 16Dokümanpnpm: Installation

    Kurulum yolları ve Node uyumluluk tablosu.

  • 17Dokümanpnpm: pnpm add

    `pnpm add` ve `-D`, `-g` gibi seçenekler.

  • 18Dokümanpnpm: pnpm run

    Script'lerin `pnpm <script>` olarak kısaltılması.

  • 19DokümanVite: Getting Started

    `npm create vite@latest`, React şablonları, Node sürüm gereksinimi ve `localhost:5173`.

  • 20DokümanGitHub Changelog: npm install-time security (8 Temmuz 2026)

    npm 12'de bağımlılık kurulum script'lerinin varsayılan olarak kapalı olması ve `npm approve-scripts`.

  • 21Dokümanpnpm: Mitigating supply chain attacks

    Kurulum script'lerinin v10'dan beri kapalı olması, `allowBuilds` ve bir günlük `minimumReleaseAge`.

  • 22VideoTally Barak: The Secret Life of Package Managers (Node Congress 2022)

    9 dakika. İç içe `node_modules`, hoisting, lockfile'lar ve pnpm'in tek depo yaklaşımı.

Bu sayfayı düzenle

Son güncelleme tarihi: 17 Ekim 2026

Önceki adım01. Web Nasıl ÇalışırSonraki adım03. HTML