Ana içeriğe geç

Node.js İçin Yarn Paket Yöneticisi Kurulumu ve Kullanımı

Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde Yarn’ın global kurulumunu, projeye özel Yarn Berry sürümünü ayarlamayı, bağımlılık ekleme/kaldırma/güncelleme komutlarını kullanmayı ve Yarn–npm farklarını detaylı biçimde öğrenirsiniz.


🛠️ 1. Node.js Kontrolü ve Global Yarn Kurulumu

Node.js’in Yüklü Olduğunu Kontrol Et

Bu komut sistemde Node.js’in kurulu olup olmadığını gösterir.

node -v

Yarn CLI’ı Global Olarak Kurma

Bu komut, Yarn’ın global komut satırı aracını kurar. Projede kullanılacak yerel Yarn’ı başlatan şey budur.


sudo npm install -g yarn

Global Yarn’ın Doğru Kurulduğunu Doğrula

Bu komut global Yarn sürümünü gösterir (genelde 1.22.x).


yarn --version

📂 2. Projeye Özel Yarn Berry Sürümü Ayarlama

Proje Dizini Oluşturma

Yeni bir proje başlatıyorsan dizin oluşturmak için:


mkdir rabisu-app
cd rabisu-app

Projeye Özel Yarn Sürümünü Kurma

Bu komut, projen içine Yarn Berry (modern sürüm) kurar ve .yarn/releases klasörünü oluşturur.


yarn set version berry

Proje İçindeki Yerel Yarn Sürümünü Kontrol Et

Bu komut artık projenize özel olan Yarn 3.x / 4.x sürümünü gösterir.


yarn --version

🧾 3. Git İçin .gitignore Yapılandırması

Aşağıdaki yapı Yarn’ın gereksiz klasörlerini dışarıda bırakır, gerekli olanları ise dahil eder.


.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
.pnp.*

⚙️ 4. Temel Yarn Komutları (Açıklamalı)

Yeni Proje Başlatma

Bulunduğun dizinde package.json ve yarn.lock oluşturur.


yarn init

Tüm Bağımlılıkları Kurma

package.json’daki tüm modülleri kurar.


yarn install

Yeni Paket Ekleme

Bir bağımlılık yükler ve package.json + yarn.lock dosyalarını günceller.


yarn add express

Sadece Geliştirme Bağımlılığı Ekleme

Bu komut bağımlılığı devDependencies’e ekler.


yarn add eslint --dev

Bağımlılık Kaldırma

Projeden bir paketi kaldırır.


yarn remove express

Tüm Bağımlılıkları Güncelleme

package.json’daki sürüm aralıklarına göre güncelleme yapar.


yarn upgrade

Script Çalıştırma

package.json içindeki scripts bölümündeki bir komutu çalıştırır.


yarn run test

🧪 5. Express ile Basit Sunucu (Açıklamalı Örnek)

Express yükleme


yarn add express

index.js – Basit HTTP Sunucusu


const express = require("express");
const app = express();

// Root endpoint yanıtı
app.get("/", (req, res) => res.send("Yarn is working!"));

// Sunucuyu port 3000'de başlat
app.listen(3000, () => console.log("Server running on http://localhost:3000"));

Sunucuyu Çalıştırma


yarn node index.js

Sunucuyu Test Etme


curl http://localhost:3000

🧩 6. Yarn vs NPM: Detaylı Karşılaştırma

ÖzellikYarnNPM
Kurulum HızıÇok hızlı, paralel işlemDaha yavaş
TutarlılıkKatı deterministic (yarn.lock)Esnek
MonorepoWorkspaces güçlüSınırlı
Disk KullanımıPnP ile %50 daha az alan kullanırnode_modules ağır
Offline ÇalışmaGüçlü cacheZayıf
Yapılandırma.yarnrc.yml.npmrc

💡 7. Ne Zaman Yarn Kullanılır?

  • CI/CD ortamlarında tutarlılık gerekiyorsa

  • Büyük monorepo yapılarında

  • Daha hızlı kurulum istiyorsanız

  • PnP sayesinde disk alanı kazanmak istiyorsanız

Ne Zaman NPM Kullanılır?

  • Basit projelerde

  • Ekip kültürü NPM üzerine kuruluysa

  • Araç zincirin sadece NPM destekliyorsa


❓ 8. Sıkça Sorulan Sorular (SSS)

1. PnP modu ne işe yarar?

node_modules klasörünü kaldırır, tüm modülleri .pnp.cjs dosyasından çözer. Hız ve disk tasarrufu sağlar.

2. Global Yarn 1.x ile proje Yarn 4.x farklı olmalı mı?

Evet. Global Yarn sadece “launcher”dır. Proje içinde daima Berry çalışır.

3. Bir NPM projesini Yarn’a nasıl çeviririm?

Projeye gir →


yarn install

→ yarn.lock oluşturulur → package-lock.json silinir.

4. PnP ile “Packages Not Found” hatası neden olur?

Eski araçlar node_modules beklediği için. Çözüm:


yarn dlx @yarnpkg/sdks vscode

5. yarn install --immutable ne yapar?

CI/CD’de package.json ile lockfile arasında fark varsa kurulumu durdurur.


🧾 Sonuç

Bu rehberle Yarn’ın global kurulumu, proje içi Berry sürüm sabitlemesi, temel komutlar, PnP avantajı ve Yarn–npm farklarını öğrendiniz. Hız, tutarlılık ve modern monorepo ihtiyaçları için Yarn güçlü bir tercihtir.

Rabisu Bulut altyapısında projelerinizi Yarn ile kolayca yönetebilirsiniz.