NPM, Yarn ve PNPM Nedir?
Merhaba. Yazılıma yeni başlayan veya yazılımda ilerlemeye çalışırken karşımıza çıkan bu terimler nedir? Bu yazımızda NPM, yarn ve PNPM kısa ve öz anlatım ile ne olduğunu, arasındaki farklılıkları inceleyeceğiz. İyi okumalar.
İçindekiler
- NPM Nedir?
- Paket Yönetim Sistemi Nedir?
- Yarn Nedir?
- PNPM Nedir?
- Ana Başlık Altında Farklılıkları İnceleme
- Kurulum
- Örnek Kullanım
- Windows Politikasını Değiştirme
- Son Sözler
- Kaynakça
NPM Nedir?
NPM (Node Package Module) kısaltılmasıdır. Javascript için geliştirilmiş ve Node.js’in standart kabul ettiği paket yönetim sistemidir. NPM 2009 yılında oluşturulmuş, 12 Ocak 2010 yılında piyasaya sürülmüştür. Isaac Z. Schlueter tarafından yazılmıştır. NPM, Github tarafından satın alınmıştır. Daha sonra Microsoft, Github’u satın almıştır. NPM şu an Github ve Microsoft (Github’ta Microsoft alt markası olduğundan) geliştirilmektedir. Güncel sürümü 10.2.0'dır.
Paket Yönetim Sistemi Nedir?
Yazılım paketlerinin ve kütüphanelerin kurulum, güncelleme, yapılandırma ve kaldırılmasını sağlayan sistemdir.
Yarn Nedir?
Yarn, Meta Inc(Facebook), Exponent, Google ve Tilde işbirliği sonucu Sebastian McKenzie tarafından Javascript için geliştirilmiş ve NPM paket yöneticisinin alternatifidir. Yarn önemli kılan özelliği NPM, kıyasla daha hızlı performans, bellek tasarrufu ve güvenlik sağlamasıdır.
PNPM Nedir?
Performant NPM olarak adlandırılan PNPM, yarn ve NPM tüm özelliklerine sahip ve performanslı olan paket yönetim sistemidir. PNPM, versiyon 1 2017 yılında Zoltan Kochan tarafından yayınlandı. PNPM’yi Yarn ve NPM’den ayıran özelliği bir paket yönetildikten sonra önbelleğe alır. Sonraki projelerde kullanılacaksa yerelden çekilir böylece NPM üzerinden dosyayı tekrar indirmeye ve bellek harcamasına gerek kalmayacaktır.
Ana Başlık Altında Farklılıkları İnceleme
NPM
- NPM diğer paket yönetim sistemleri(PNPM, Yarn) yavaş ve güvenlik açığı riski bulunmaktadır. Node.js varsayılan paket yönetim sistemidir. NPM kullanmak için Node.js kurulu olmalıdır. NPM paketleri bağımsız olarak seri kurulum olacak şekilde gerçekleştirir. NPM, her kurulumda güvenlik kontrolü sağlar.YARN
- NPM kıyasla hızlı, güvenlik açığını en aza indirmeye yönelik çalışmaları, hafıza dostu. Kurulan her paketi önbelleğe alarak paketin tekrar yüklenmesini ortadan kaldırıyor. Birden fazla paketi aynı anda kurabilir. NPM karşısında gerekli olan paketleri ayrı kurarak zaman, disk tasarrufu sağlıyor. Yarn sürekli güvenlik kontrolü yaparak güvenlik sorununu en aza indirmeye çalışmaktadır.
PNPM
- PNPM, Yarn ve NPM’in özelliklerinin birleşmiş hali denilebilir. PNPM, yarn ve NPM’den hızlı olduğunu iddia etmektedir. Karşılaştırma sonucuna buradan ulaşabilirsiniz. Bellekte daha az yer kaplayarak veri tasarrufu katkı sağlıyor. En önemli eksik yönü ise her uygulama PNPM desteklememektedir. Buna da dikkat edilmelidir.
Kurulum
Bilgisayarınızda NPM, Yarn, PNPM kullanmak için öncelikle node.js kurmanız gerekli. (Node.js kurulurken NPM’de kurulduğundan NPM için bir şey yapılmasına gerek yoktur.) Burada dikkat edilmesi gereken kısım Windows politikasının değiştirilmesi işlemidir. Bu ayar yapılmadığı sürece yarn ve pnpm kullanamazsınız. (Bu detay yazımızda gösterilecektir.)
NPM Kurulumu
Node.js kurulurken NPM otomatik olarak kurulduğu için NPM için bir işlem yapılmasına gerek yoktur.
Yarn Kurulumu
Bilgisayarınıza yarn kurmak için komut istemini yönetici olarak çalıştırdıktan sonra bu komutu yapıştırdıktan sonra kurulum yapılacaktır.
Komut istemi > Yönetici olarak çalıştır. Aşağıdaki kodu kopyalayıp yapıştırın.
npm install --global yarn
PNPM Kurulumu
Bilgisayarınıza pnpm kurmak için komut istemini yönetici olarak çalıştırdıktan sonra bu komutu yapıştırdıktan sonra kurulum yapılacaktır.
Komut istemi > Yönetici olarak çalıştır. Aşağıdaki kodu kopyalayıp yapıştırın.
npm install -g pnpm
Bilgisayarınıza başarılı şekilde pnpm ve yarn paket yöneticilerini kullanabilirsiniz.
Örnek Kullanım
NPM, Yarn, PNPM paketlerinin nasıl kullanılacağına örnekler.
NPM
npm install kurulacak paket adı
npm install feather-icons
Yukarıdaki örnek npm ile feather-icons paketini kurduk.
Yarn
yarn add kurulacak paket adı
yarn add react-slick
Yukarıdaki örnekte yarn ile React projesinde kullanılan React slick paketi kurduk.
PNPM
pnpm add kurulacak paket adı
pnpm add package name
Yukarıdaki örnekte pnpm ile kurulum işlemi gösteriliyor. Package name yerine kuracağınız paket ismi yazılıyor.
Windows Politikasını Değiştirme
Windows politikasını değiştirmeden yarn ve pnpm kullanmak istediğniz zaman yarn ve pnpm için bu hatalar ile karşılacaksınız.
Yarn ile paket kurmak istediğinizde ise bu hatayı döndürecektir.
yarn.ps1 cannot be loaded because running scripts is disabled on this system
Bu hatanın sebebi, PowerShell üzerinde çalışan komut dosyalarının (scripts) çalıştırılmasının sistemde devre dışı bırakılmış olmasıdır. Bu durum, güvenlik politikalarından kaynaklanabilir.
Execution Policy’yi Kontrol Etme
Bunun için Windows Powershell üzerinden ayar yapmamız gerekiyor.
Başlat menüsü > Powershell > Powershell sağ tık >Yönetici olarak çalıştır.
Şu komutu yazınız.
Bu komut sonrası Restricted döndürüyorsa, bu durumda script çalıştırma yetkileri sınırlıdır. Daha esnek bir politika kullanmak için başka politika kullanılması gerekmektedir.
Şu komutu yazınız.
Komut yazdıktan sonra böyle bir ekranla karşılacağız.
Klavyeden Y tuşuna basmamız yeterlidir. İşlem tamamlandıktan sonra politikanın değişikliğini kontrol etmek için şu komutu kopyalayınız.
PNPM ve yarn kullanabiliriz. Aşağıdaki resimlerde yarn ve pnpm paketleri kuruluyor.
Son Sözler
Bu yazımızda Javascript paket yönetim sistemlerinde NPM, Yarn ve PNPM inceledik. Aralarındaki farklılıklar, özellikleri ve nasıl çalıştığı, kurulum aşamaları ve uygulamalarda nasıl kullanıldığını gördük. Kullanılmadan önce yaşanılan sorunun çözümünü öğrenmiş olduk. Yazının sizlere faydalı olması dileğiyle. Yazıyı okuduğunuz için teşekkürler. İyi çalışmalar.