ServBay'de pnpm Nasıl Etkinleştirilir ve Kullanılır
pnpm, geleneksel paket yöneticilerinin (npm, yarn gibi) bağımlılık yönetiminde karşılaştığı sorunları çözmek için tasarlanmış, modern ve verimli bir Node.js paket yönetim aracıdır. İçerik adresli dosya sistemi ile hard link ve sembolik linkler kullanan pnpm, disk alanı kullanımını önemli ölçüde azaltırken kurulum hızını da ciddi oranda artırır. ServBay ile Node.js geliştiren kullanıcılar için, pnpm kullanmak proje bağımlılıklarının yönetiminde büyük avantajlar sunar.
ServBay ile sunulan Node.js paketinde, belirli bir paket yöneticisinin (örneğin npm, yarn, pnpm) istenen versiyonunu yönetmek ve projeye entegre etmek amacıyla, Node.js'in resmi deneyselli aracı olan corepack entegre olarak gelir. Genellikle, ServBay'in Node.js'i kurulduktan sonra, pnpm'i etkinleştirmek için corepack komutunu kullanabilirsiniz.
pnpm'i Etkinleştirme
Eğer pnpm komutunu doğrudan kullanamıyorsanız, genellikle bu, onun henüz corepack ile etkinleştirilmemiş olmasından kaynaklanır. Aşağıdaki adımları izleyerek pnpm’i aktifleştirebilirsiniz:
Terminal uygulamasını açın.
Aşağıdaki komutu girerek
pnpm'icorepackile etkinleştirin:bashcorepack enable pnpm1Komut başarıyla çalıştığında genellikle herhangi bir çıktı alınmaz. Bu,
corepack'inpnpmkomutunu sisteminize eklediği anlamına gelir.pnpm'in başarılı bir şekilde etkinleştirildiğini ve versiyonunu doğrulayın:bashpnpm -v1Bu komutu çalıştırdığınızda, örneğin:
bash9.1.01gibi mevcut
pnpmsürümünü görmelisiniz. Eğer bir sürüm numarası görüntüleniyorsa,pnpmartık kullanıma hazır demektir.
corepack İndirme Uyarısı
pnpm komutunu kullandığınızda aşağıdakine benzer bir uyarı görürseniz, bu durum corepack'in sizin için belirtilen sürümde bir pnpm paketini indiriyor veya güncelliyor olduğunu gösterir. Bu, corepack'in planlanan çalışma şeklidir ve projenizin gerektirdiği veya en güncel pnpm sürümünü kullandığınızdan emin olmanızı sağlar.
bash
$ pnpm -v
! Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-9.0.6.tgz
? Do you want to continue? [Y/n]1
2
3
2
3
Devam etmesine izin vermek için Y harfine basıp enter tuşuna basabilirsiniz. İndirme tamamlandığında, komut normal şekilde çalışacak ve ilgili sürümü (veya verdiğiniz diğer pnpm komutu sonucunu) gösterecektir.
pnpm'in Temel Avantajları ve Kullanım Örnekleri
pnpm, bağımlılık yönetiminde yüksek verimlilik sağlamak için tasarlanmıştır. Tüm paketleri küresel ve içerik adresli bir depoda saklar; her paket sürümü yalnızca bir kez kaydedilir. Projeniz herhangi bir bağımlılığa ihtiyaç duyduğunda, pnpm global depodan hard link oluşturarak bağlantı sağlar ve projenin node_modules dizininde sembolik linklerle düz bir yapı kurar. Ancak bu, npm'deki "phantom dependency" (hayalet bağımlılık) sorununa yol açmaz; çünkü pnpm, yalnızca doğrudan bağımlı olunan modüllerin erişilebilir olmasını garanti edecek şekilde kısıtlama getirir.
Bu yaklaşımın başlıca avantajları:
- Disk alanından tasarruf: Farklı projeler aynı bağımlılığın versiyonunu paylaşır, tekrar eden dosya saklanmasından kaçınılır.
- Yüksek kurulum hızı: Çoğunlukla bağımlılıklar global depoda bulunduğundan yeni bağlantı oluşturmak, tekrar indirmekten ya da kopyalamaktan çok daha hızlıdır.
- Sıkı bağımlılık yapısı: Hayalet bağımlılık sorunlarını önler, projenizin bağımlılık ilişkilerini şeffaf ve kontrol edilebilir kılar.
ServBay ortamında pnpm ile sıkça kullanılan bazı komut örnekleri şöyle:
Projenizin ServBay’in website kök dizini altındaki bir alt klasörde yer aldığını varsayalım; örnek: /Applications/ServBay/www/my-servbay-app.
Proje Bağımlılıklarını Yükleme
Proje dizinine girdikten sonra, package.json’da tanımlanan tüm bağımlılıkları yüklemek için şu komutu kullanabilirsiniz:
bash
cd /Applications/ServBay/www/my-servbay-app
pnpm install1
2
2
pnpm, global depoyu kontrol eder, eksik olan paketleri indirir ve proje node_modules dizininde gerekli bağlantıları oluşturur.
Yeni Bir Bağımlılık Ekleme
Projeye yeni bir bağımlılık eklemek için, örneğin lodash kütüphanesini eklemek için:
bash
pnpm add lodash1
Bu komut, gerekirse öncelikle lodashı indirir, ardından bağlantıları oluşturur ve projenizin package.json ile pnpm-lock.yaml dosyalarını otomatik olarak günceller.
Bağımlılık Kaldırma
Artık ihtiyaç duyulmayan bir bağımlılığı kaldırmak için, örneğin lodash'ı kaldırmak için:
bash
pnpm remove lodash1
Bu işlem, lodashı projenizin bağımlılıklarından çıkarır ve package.json ile pnpm-lock.yaml dosyalarını günceller.
Script Çalıştırma
pnpm, package.json içindeki scripts bölümünde tanımlı komutları çalıştırmak için de kullanılabilir:
bash
pnpm run dev
# ya da kısaca
pnpm dev1
2
3
2
3
Paket Komutu Çalıştırma (pnpx)
npx'e benzer şekilde, pnpm de yerel olarak node_modules/.bin klasöründe yüklü komutları çalıştırmak için pnpx (veya doğrudan pnpm exec) desteği sunar; böylece küresel kurulum gereksinimi ortadan kalkar:
bash
pnpm exec webpack --version
# veya kısaca
pnpx webpack --version1
2
3
2
3
Sonuç
corepack enable pnpm komutu ile, ServBay’in Node.js ortamında pnpm’i çok kolay bir şekilde etkinleştirebilirsiniz. pnpm’in sağladığı yüksek verimlilik sayesinde, Node.js projelerinizin bağımlılık kurulum süreçlerini hızlandırabilir, geliştirme sürecini optimize edebilir ve disk alanınızdan belirgin şekilde tasarruf edebilirsiniz. ServBay ile en iyi geliştirme deneyimini hedefleyen kullanıcılar için pnpm, kesinlikle tavsiye edilen bir araçtır.
