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
'icorepack
ile etkinleştirin:bashcorepack enable pnpm
1Komut başarıyla çalıştığında genellikle herhangi bir çıktı alınmaz. Bu,
corepack
'inpnpm
komutunu sisteminize eklediği anlamına gelir.pnpm
'in başarılı bir şekilde etkinleştirildiğini ve versiyonunu doğrulayın:bashpnpm -v
1Bu komutu çalıştırdığınızda, örneğin:
bash9.1.0
1gibi mevcut
pnpm
sürümünü görmelisiniz. Eğer bir sürüm numarası görüntüleniyorsa,pnpm
artı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.
$ pnpm -v
! Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-9.0.6.tgz
? Do you want to continue? [Y/n]
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:
cd /Applications/ServBay/www/my-servbay-app
pnpm install
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:
pnpm add lodash
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:
pnpm remove lodash
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:
pnpm run dev
# ya da kısaca
pnpm dev
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:
pnpm exec webpack --version
# veya kısaca
pnpx webpack --version
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.