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.