ServBay'de npm (Node.js Paket Yöneticisi) Nasıl Etkinleştirilir ve Kullanılır
npm
(Node Paket Yöneticisi), Node.js'in resmi paket yöneticisidir ve dünyanın en büyük açık kaynak yazılım kütüphanelerinden biridir. Node.js geliştiricileri için vazgeçilmez bir araç olan npm
, projelerinizdeki kod bağımlılıklarını kolayca kurmanıza, paylaşmanıza ve yönetmenize yardımcı olur. ServBay'in sunduğu entegre ortam sayesinde, npm
ile geliştirmeye hızlıca başlayabilirsiniz.
Ön Koşullar
npm
'yi kullanmadan önce ServBay'de Node.js'in kurulu olması gerekmektedir.
- ServBay uygulamasını açın.
- "Paketler" (Packages) paneline gidin.
- Node.js paketini bulun ve kurulu ve çalışır durumda olduğundan emin olun.
ServBay, Node.js ortamını otomatik olarak yapılandıracak ve bu ortama npm
de dahil olacaktır.
npm'in Yüklü Olduğunu ve Çalıştığını Doğrulama
ServBay üzerinden kurulan Node.js, varsayılan olarak npm
ile birlikte gelir ve otomatik olarak etkinleştirilmiştir. npm
'nin doğru şekilde kurulup erişilebilir olup olmadığını terminalden hızlıca doğrulayabilirsiniz.
Terminal uygulamanızı açın (örneğin, macOS'ta Terminal).
npm
sürüm numarasını görmek için aşağıdaki komutu girin:bashnpm -v
1Komut başarıyla çalışır ve bir sürüm numarası (örneğin
10.2.0
veya daha yüksek) gösterirse,npm
'nin doğru şekilde kurulu olduğu ve kullanılabilir olduğu anlamına gelir.bash# Örnek çıktı 10.2.0
1
2Eğer “command not found: npm” gibi bir hata görüyorsanız, Node.js paketinin ServBay aracılığıyla kurulu olduğuna ve ServBay ortam değişkenlerinin doğru şekilde yüklendiğine (genellikle terminali veya bilgisayarı yeniden başlatmak işe yarayacaktır) emin olun.
npm'i Güncelleme
ServBay ile gelen Node.js sürümünde genellikle kararlı bir npm
sürümü bulunsa da, npm
kendi başına bağımsız olarak sık sık güncellenmektedir. En yeni özellikleri ve hata düzeltmelerini almak için, npm
'yi aşağıdaki şekilde güncelleyebilirsiniz:
npm install -g npm@latest
Bu komut, npm
'nin en son sürümünü global olarak yükleyecektir. -g
işareti global yükleme anlamına gelir; böylece yeni npm
komutunu herhangi bir yerde kullanabilirsiniz.
Güncelleme tamamlandıktan sonra, sürümü tekrar kontrol etmek için şunu yazın:
npm -v
npm’in Temel Özellikleri ve Yaygın Kullanım Senaryoları
npm
; geniş açık kaynak ekosistemi ve kolay bağımlılık yönetimiyle dikkat çeker. İşte günlük geliştirme süreçlerinde npm
ile sıkça karşılaşacağınız bazı senaryolar ve temel komutlar:
Yeni Bir Node.js Projesi Başlatmak
Boş bir dizinde yeni bir Node.js projesine başlamadan önce, npm init
komutunu kullanarak bir package.json
dosyası oluşturabilirsiniz. Bu dosya; projenizin temel bilgileri, bağımlılıkları ve çalıştırılabilir komutları gibi kritik verileri içerir.
cd /Applications/ServBay/www/my-new-project.servbay.demo
npm init
2
npm init
sizi, proje adı, sürüm, açıklama ve giriş dosyası gibi bilgileri girmeniz için yönlendirir. Hızlıca varsayılan bir package.json
oluşturmak için npm init -y
komutunu da kullanabilirsiniz.
Proje Bağımlılıklarını Yüklemek
Proje kök dizininde (package.json
dosyasının bulunduğu dizin) gerekli olan tüm bağımlılıkları yüklemek için npm install
komutunu kullanabilirsiniz.
cd /Applications/ServBay/www/my-project.servbay.demo
npm install
2
Bu komut, package.json
dosyanızdaki dependencies
ve devDependencies
bölümlerini okuyacak, ilgili modülleri indirip projenizin node_modules
klasörüne yerleştirecektir.
Yeni Bir Bağımlılık Ekleme
Projenize yeni bir kütüphane veya framework eklemeniz gerektiğinde, npm install <paket-ismi>
komutunu kullanabilirsiniz.
# Örneğin, Express framework'ünü çalışma zamanı bağımlılığı olarak kurun
npm install express
# Testler için kullanılan Mocha'yı geliştirme bağımlılığı olarak kurun
npm install mocha --save-dev
2
3
4
5
Varsayılan olarak, npm install <paket-ismi>
komutu paketi node_modules
klasörüne kopyalar ve package.json
dosyasındaki dependencies
bölümünü otomatik günceller. --save-dev
işareti ise paketi devDependencies
bölümüne ekler; bu genellikle geliştirme, test veya derleme araçları için kullanılır.
Bir Bağımlılığı Kaldırmak
Projede artık kullanılmayan bir bağımlılığı kaldırmak için npm uninstall <paket-ismi>
komutunu kullanın.
npm uninstall express
Bu komut, ilgili modülü node_modules
klasöründen çıkarır ve package.json
dosyasını günceller.
Proje Bağımlılıklarını Güncellemek
Projede kullanılan bağımlılıkların, package.json
dosyasında belirtilen sürüm aralığı dahilinde güncel tutulması için npm update
komutunu kullanabilirsiniz.
npm update
Bu; yüklü modülleri gözden geçirir ve uyumlu en güncel sürüme yükseltir.
npm Script'lerini Kullanmak
package.json
dosyasındaki scripts
alanı, özel komut satırı script'leri tanımlamanıza olanak tanır. Bu özellik; geliştirme sunucusu başlatma, test çalıştırma, proje derleme gibi tekrarlanan görevleri otomatikleştirmek için çok pratiktir.
Örneğin, package.json
dosyanızda aşağıdaki gibi script'leri ekleyebilirsiniz:
{
"name": "my-project",
"version": "1.0.0",
"scripts": {
"start": "node index.js",
"test": "mocha test/**/*.js",
"build": "webpack --config webpack.config.js"
},
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"mocha": "^10.2.0",
"webpack": "^5.89.0"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Daha sonra, bu script'leri terminalde aşağıdaki komutlarla çalıştırabilirsiniz:
# Uygulamayı başlat
npm start
# Testleri çalıştır
npm test
# Derleme işlemini yürüt
npm run build
2
3
4
5
6
7
8
Dikkat: start
, test
, install
, restart
, stop
gibi özel script isimleri için run
yazmanıza gerek yoktur; doğrudan npm start
, npm test
vb. kullanabilirsiniz.
npm Komutları İçin Hızlı Başvuru
Ana fonksiyonlara ek olarak, yaygın olarak kullanılan bazı diğer npm
komutları şunlardır:
Global Paket Kurulumu: Sistem genelinde kullanılabilecek komut satırı araçlarını kurmak için.
bashnpm install -g <paket-ismi> # Örneğin, geçici komutlar çalıştırmak için kullanılan npx'i kurmak (genelde Node.js ile birlikte gelir) npm install -g npx # Geliştirme sürecinde uygulamayı otomatik yeniden başlatan yaygın bir araç olan nodemon'u kurmak npm install -g nodemon
1
2
3
4
5Geçici Komut Çalıştırma (npx):
npx
,npm
5.2+ sürümüyle gelen,node_modules/.bin
dizinindeki çalıştırılabilir dosyaları veya bir paketi yüklemeden geçici olarak kullanmanıza olanak tanıyan bir araçtır.bash# create-react-app'i global kurmadan yeni bir React projesi başlatmak npx create-react-app my-react-app
1
2Global Kurulu Paketleri Listeleme: Tüm globalde kurulu paketleri ve sürümlerini göstermek için.
bashnpm list -g --depth=0
1npm Önbelleğini Temizleme: Bazen kurulum hatalarının sebebi önbellekleme sorunları olabilir. Önbelleği temizlemek yardımcı olabilir.
bashnpm cache clean --force
1Paket Bilgisi Görüntüleme: Bir paketin detaylı bilgilerini (sürüm, bağımlılıklar, depo adresi vb.) görmek için.
bashnpm view <paket-ismi>
1Paket Arama: npm deposunda paket aramak için.
bashnpm search <anahtar-kelime>
1
Sorun Giderme
npm command not found
: ServBay yoluyla Node.js paketinin kurulduğundan ve terminal oturumunuzun Node.js ile npm'nin kurulu olduğu yolu okuyabildiğinden emin olun. Genellikle terminali veya bilgisayarı yeniden başlatmak yol sorunlarını çözer.- Bağımlılık Kurulumu Başarısız: Ağ bağlantınızı kontrol edin. Şirket proxy ayarlarınız npm kurulumunu etkileyebilir; gerekirse npm proxy ayarlarını yapılandırın. Ayrıca, npm önbelleğini temizleyip (
npm cache clean --force
) tekrar denemek iyi bir çözüm olabilir. - Yetki Sorunları: macOS'ta global yüklemelerde (
npm install -g
) bazen yetki hatası oluşabilir. Node Version Manager (nvm) kullanmanızı veya ServBay'in doğru kurulum yolu ile sorunsuz çalıştığından emin olmanızı öneririz. Global yüklemeler için doğrudansudo
kullanmaktan kaçının; bu, daha karmaşık sorunlara yol açabilir. ServBay ile kurulu Node.js genellikle yetki problemlerini kendisi çözer ve kullanıcıya kurulum dizini içinde işlem yapma hakkı verir.
Sonuç
ServBay sayesinde, yerel ortamınızda tam özellikli bir Node.js geliştirme ortamına ve güçlü npm
araçlarına anında erişebilirsiniz. npm
'nin temel kullanımlarını ve sıkça başvurulan komutlarını öğrenmek, geliştirme hızınızı büyük ölçüde artıracaktır. Node.js dünyasına daha derinlemesine adım attıkça, npm
ayrılmaz bir geliştirme dostunuz olacaktır.