Tüm Teknolojiler

npm Nedir? Nedir?

npm (Node Package Manager), JavaScript ve Node.js ekosisteminin varsayılan paket yöneticisi ve dünyanın en büyük yazılım kayıt defteridir.

Yayın Yılı: 2010Isaac Z. Schlueter

npm, 2010 yılında Isaac Z. Schlueter tarafından geliştirilmiş ve Node.js ile birlikte varsayılan paket yöneticisi olarak dağıtılmaktadır. npm registry, 2 milyondan fazla JavaScript paketi barındıran dünyanın en büyük yazılım kayıt defteridir. npm, package.json dosyası aracılığıyla proje bağımlılıklarını, script'leri ve metadata'yı yönetir. Semantik versiyonlama (semver) ile bağımlılık sürümleri kontrol edilir. npm install komutu bağımlılıkları node_modules dizinine indirir ve package-lock.json ile tam sürüm kilidini sağlar. npm CLI, paket kurma/kaldırma, script çalıştırma, paket yayınlama, güvenlik denetimi (npm audit) ve çalışma alanları (workspaces) ile monorepo yönetimi gibi işlevler sunar. npx komutu ile paketleri kurmadan doğrudan çalıştırmak mümkündür. 2020'de GitHub (Microsoft) tarafından satın alınan npm, JavaScript ekosisteminin omurgasıdır. Haftada milyarlarca indirme gerçekleşir. React, Express, lodash, axios gibi popüler paketler npm üzerinden dağıtılır.

Kullanım Alanları

JavaScript paket yönetimi, Proje bağımlılık yönetimi, Script çalıştırma, Paket yayınlama, Monorepo yönetimi (workspaces)

Avantajları

Dünyanın en büyük paket ekosistemi, Node.js ile varsayılan olarak gelir, npx ile kolay paket çalıştırma, Güvenlik denetimi (npm audit), Workspaces desteği

Dezavantajları

node_modules boyutu çok büyüyebilir, Bağımlılık çatışmaları, Güvenlik riskleri (kötü niyetli paketler), Yarn ve pnpm'e göre daha yavaş