npm Nedir? Acemiler için npm’e Giriş

npm kendisiyle birlikte gelen Node Package Manager – Node Paket Yöneticisidir ve bütün Node gelişmelerine yardımcı olur. Node yıllardır JavaScript geliştiricileri tarafından araç paylaşmak, çeşitli modüller yüklemek ve bağımlılıklarını yönetmek için yaygın biçimde kullanılmıştır. Node.js ile çalışanlar için npm nedir bilmek çok önemlidir.

npm Nasıl Çalışır?

npm nedir öğrendiğinize göre sırada npm’nin nasıl çalıştığını görmek var. npm’in iki rolü vardır:

  • Açık kaynaklı Node.js ürünlerinin yayınlaması için yaygın biçimde kullanılan bir depodur. Yani npm herkesin bir şeyler yayınlama yapabileceği ve JavaScript’de yazılmış araçları paylaşabileceği online bir platformdur.
  • npm, tarayıcılar ve sunucular gibi online platformlarla etkileşime geçmeye yardımcı olan bir komut satırı aracıdır. Bu araç bir proje gerçekleştirmek için gereken paket yüklemek ve kaldırmakta, sürüm ve bağımlılık yönetiminde yardımcı olur.

Kullanmak için birlikte paketlendirildiklerinden dolayı node.js yüklemeniz gerekmektedir

npm nedir: node.js sitesinden indirme

npm komut satırı aracı node.js’nin düzgün biçimde çalışmasını sağlar.

Paketleri kullanmak için projenizin package.json adlı bir dosyayı içermesi gerekmektedir. Bu paketin içinde projenize özel metaveri bulacaksınız.

Metaveri projenin aşağıdaki sırayla bazı detaylarını gösterir:

  • Projenin adı
  • Giriş sürümü
  • Açıklama
  • Giriş noktası
  • Test komutları
  • Git deposu
  • Anahtar kelimeler
  • Lisans
  • Bağımlılıklar
  • devBağımlılıkları

Metaveri projeyi tanımlamaya yardımcı olur ve kullanıcıların hakkında bilgi alması için ana hat işlevi görür.

İşte metaverisi üzerinden bir projeyi nasıl tanımlayabileceğinize dair bir örnek:

{
  "name": "hostinger-npm",
  "version": "1.0.0",
  "description": "acemiler icin npm rehberi",
  "main": "acemi-npm.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm",
    "ornek",
    "basit"
  ],
  "author": "Hostinger TR",
  "license": "MIT",
  "dependencies": {
    "express": "^4.16.4"
  }
}
  • Proje adı hostinger-npm
  • Sürümü 1.0.0
  • Proje acemiler için npm rehberi
  • Projenin giriş noktası veya ana dosyası ise acemi-npm.js
  • Depoda projeyi bulabileceğiniz anahtar kelimeler veya etiketlerse npm, example, and basic
  • Projenin sahibi ise Hostinger TR
  • Proje MIT lisanslıdır
  • Bu modülün kullandığı bağımlılıklar veya diper modüllerse express 4.16.4

npm Modülleri Nasıl Yüklenir ve Nasıl Proje Oluşturulur?

Her şeyden önce node.js ve npm‘in yüklendiğinden emin olun. Emin olmak için birkaç basit komut çalıştırabilirsiniz.

node.js’nin yüklü olup olmadığını görmek içinse Terminal‘i veya bir komut satırı açın ve node -v yazın. Eğer node.js yüklüyse bu komutun sonucunda bir sürüm rakamı elde etmelisiniz:

$ node -v 
v0.10.9

npm’nin yüklü olup olmadığını görmek içinse npm -vgirin. Bu komut size sürüm rakamını sunmalıdır:

$ npm -v 
1.2.25

Eğer yüklü değilse node.jd web sitesinden Node’u alın ve yükleyicideki istemleri takip edin.

npm tek satırlık yükleyicisiyle bilinir:

$ curl https://npmjs.org/install.sh | sh

Yükledikten sonra sıklıkla yeni sürüm çıktığından sonra npm’i güncelleyebilirsiniz. Güncellemek içinse tek yapmanız gereken node.js sitesinden yükleyiciyi indirmeniz ve yeniden çalıştırmanız gerekir. En yeni sürüm otomatik olarak son sürümün yerini alacaktır.

Ancak bu komutu kullanarak da npm’yi güncelleyebilirsiniz:

$ npm update -g npm

npm ile Bir Proje Oluşturma

Eğer Node ve npm kuruluysa ve projenizi kurmaya başlamaya geçmek istiyorsanız npm init komutunu çalıştırın. Bu projenizin başlangıcını tetikleyecektir.

Örneğin hadi test-npm adlı bir dizin ve onun içindeyse cd adlı bir dizin oluşturalım. Şimdiyse ilk npm komutumuzu çalıştıralım:

$ npm init

Bu komut projenin package.json dosyasını oluşturmak için bir araç görevini görür. npm init aşamalarından geçtikten sonra bir package.json dosyası oluşturulacak ve mevcut dizine yerleştirilecektir.

Node paket yöneticisinin birimi çalıştırdığınızda ne yaptığını size anlatacaktır:

mymacs-MacBook-Pro: test-npm mymac$ npm init
This utility will walk you through creating a package.json file. 
It only covers the most common items, and tries to guess sane defaults. 

See `npm help json` for definitive documentation on these fields and exactly what they do. 

Use `npm install --save` afterwards to install a package and save it as a dependency in the package.json file. 

Press ^C at any time to quit. 
name: (test-npm)

npm init‘in istemlerine cevap verin.

name: (test-npm)hostinger-npm
version: (1.0.0)1.0.0
description: acemiler icin nps rehberi
entry point: (index.js) acemi-npm.js
test command:
git repository:
keywords: npm, ornek, acemi
author: Hostinger Internationallicense: (ISC) MIT

Kabul etmek için “Enter”a basın. Daha sonra ise npm init size yaratmak üzere olduğu package.json‘ın önizlemesini verir.

Aşağı yukarı böyle gözükecektir:

{
  "name": "hostinger-npm",
  "version": "1.0.0",
  "description": "acemiler icin npm rehberi",
  "main": "acemi-npm.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm",
    "ornek",
    "basit"
  ],
  "author": "Hostinger TR",
  "license": "MIT",
  "dependencies": {
    "express": "^4.16.4"
  }
}

Is this OK? (yes) yes
mymac-MacBook-Pro: test-npm mymac$

yes” yazın ve  “Enter”a basıp onaylayarak package.json‘ı kaydedin. Daha sonra bu dosyada dosyayı direkt olarak düzenleyerek veya yeniden npm init‘i çalıştırarak değişiklik yapabilirsiniz.

npm Modüllerini Yüklemek

node.js’deki bir paket bir modül için ihtiyacınız olan bütün dosyaları içermektedir. Modüller projenizde içerebileceğiniz JavaScript kütüphaneleridir.

Modülleri yüklemek Node paket yöneticisini kullanmaya başladığınızda öğrenmeniz gereken en basit şeylerden biridir. İşte mevcut dizine bir modül yüklemek için gereken komut:

$ npm install <modul> 

$ npm i <modul>

Yukarıdaki komutta <modul> kısmını yüklemek istediğiniz modülün adıyla değiştirin.

Örneğin en çok kullanılan ve en çok tanınan node.js web framework olan Install Express’i yüklemek isterseniz aşağıdaki komutu çalıştırabilirsiniz:

 $ npm install express
[mymac-MacBook-Pro:test-npm mymac$ npm install express]
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN hostinger-npm@1.0.0 No repository field.

+ express@4.16.4
added 48 packages from 36 contributors and audited 121 packages in 2.798s
found 0 vulnerabilities

mymac-MacBook-Pro: test npm mymac$

Yukarıdaki komut express modülünü mevcut dizindeki /node_modules klasörüne yükleyecektir.

npm’den ne zaman bir modül yüklerseniz node_modules klasörüne yüklenecektir.

İşte projenizde bir modül yükledikten sonra projeniz böyle gözükecektir:

[mymac-MacBook-Pro: test-npm mymac$ cat package.json]
{
  "name": "hostinger-npm",
  "version": "1.0.0",
  "description": "acemiler icin npm rehberi",
  "main": "acemi-npm.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm",
    "ornek",
    "basit"
  ],
  "author": "Hostinger TR",
  "license": "MIT",
  "dependencies": {
    "express": "^4.16.4"
  }
}
mymac-MacBook-Pro: test-npm mymac$ []

Sonuç

Gördüğünüz üzere npm’nin çeşitli node.js paketleri için online veritabanı olarak işlev görmesinin dışında Node paket yöneticisinin ana hedefi otomatikleştirilmiş bağımlılık ve Komut Satırı arayüzüyle package.json dosyalarının yönetimidir.

Bu basit komutları bilmeniz gerekir:

  • npm yükleme komutu:
$ curl https://npmjs.org/install.sh | sh
  • Sürüm komutu kontrolü:
$ npm -v
  • Proje başlatma komutu:
$ npm init
  • Modül yükleme komutu:
$ npm install <modul>

$ npm i <modul>

Eğer JavaScript ile çalışmayı düşünüyorsanız iş akışınıız için npm vazgeçilmez bir araçtır. Bu makalemizde npm nedir ve nasıl kullanılır öğrenmiş oldunuz. Düşüncelerinizi ve yorumlarınızı aşağıdaki yorumlar kısmında bizimle paylaşmayı unutmayın!

Author
Yazar

Gökhan O.

Gökhan Hostinger’da YouTube Takım Lideri olarak çalışmakta. WordPress hakkındaki tecrübe ve bilgisini bu blogda paylaşıyor. Hostinger’ın adını YouTube içeriği üzerinden duyurmayı kendine görev edinmiştir. Hobileri arasında oyun oynamak ve futbol maçları izlemek vardır.