Ubuntu 18.04 Üzerine Node.js Kurulumu: Adım Adım Kapsamlı Rehber
Giriş
Node.js, modern web geliştirme dünyasının temel taşlarından biridir. JavaScript’i sunucu tarafında çalıştırma yeteneği sayesinde, geliştiricilere uçtan uca JavaScript tabanlı uygulamalar oluşturma imkanı sunar. Bu durum, ön uç ve arka uç geliştirme arasında dil birliği sağlayarak geliştirme sürecini önemli ölçüde hızlandırır ve basitleştirir. Ubuntu 18.04 LTS (Uzun Süreli Destek) sürümü, kararlılığı ve geniş topluluk desteği nedeniyle sunucu ortamlarında hala yaygın olarak kullanılmaktadır. Bu makale, Ubuntu 18.04 üzerine Node.js’yi farklı yöntemlerle nasıl kuracağınızı adım adım, detaylı bir şekilde açıklayacaktır. Her bir yöntemin avantajları ve dezavantajları ile birlikte, kurulum sonrası doğrulama ve temel kullanım ipuçları da sunulacaktır.
Node.js Nedir ve Neden Önemlidir?
Node.js, Google Chrome’un V8 JavaScript motoru üzerine inşa edilmiş, açık kaynaklı, çapraz platform bir çalışma zamanı ortamıdır. Sunucu tarafında ağ uygulamaları geliştirmek için tasarlanmıştır. Geleneksel sunucu dillerinden farklı olarak, Node.js olay güdümlü, senkronize olmayan (non-blocking) G/Ç modelini kullanır. Bu özellik, Node.js’nin aynı anda binlerce bağlantıyı verimli bir şekilde yönetmesini sağlar ve bu da onu gerçek zamanlı uygulamalar, sohbet uygulamaları, API’ler ve mikro hizmetler için ideal bir seçim haline getirir.
Node.js’nin temel özellikleri ve avantajları şunlardır:
* Tek Dil (JavaScript): Hem ön uç (tarayıcı) hem de arka uç (sunucu) geliştirme için JavaScript kullanılabilir. Bu, geliştiricilerin tek bir dil üzerinde uzmanlaşmasını ve kod paylaşımını kolaylaştırır.
* Yüksek Performans: V8 motoru sayesinde JavaScript kodunu makine koduna derleyerek çok hızlı çalışır. Olay güdümlü ve senkronize olmayan yapısı, G/Ç işlemlerinin beklemesini engeller, bu da uygulamaların daha hızlı yanıt vermesini sağlar.
* Geniş Ekosistem (NPM): Node.js ile birlikte gelen NPM (Node Package Manager), dünyanın en büyük yazılım kütüphanelerinden birine erişim sağlar. Binlerce açık kaynaklı paket, geliştirme sürecini hızlandırır ve karmaşık işlevleri kolayca entegre etmeye olanak tanır.
* Ölçeklenebilirlik: Node.js uygulamaları, olay döngüsü mimarisi sayesinde yüksek trafikli senaryolarda bile kolayca ölçeklenebilir.
* Çapraz Platform: Linux, Windows ve macOS gibi farklı işletim sistemlerinde çalışabilir.
Bu özellikler, Node.js’yi modern web geliştiricileri için vazgeçilmez bir araç haline getirir.
Ubuntu 18.04 Üzerinde Node.js Kurulum Yöntemleri
Ubuntu 18.04 üzerinde Node.js kurmak için birkaç farklı yöntem bulunmaktadır. Her bir yöntemin kendine özgü avantajları ve kullanım senaryoları vardır. Bu rehberde, en yaygın ve önerilen üç yöntemi detaylıca inceleyeceğiz:
1. APT Paket Yöneticisi ile Kurulum: Ubuntu’nun varsayılan depolarından Node.js ve NPM’i kurma yöntemidir. En basit yöntem olmasına rağmen, genellikle eski sürümleri sunar.
2. NodeSource Deposu Kullanarak Kurulum: NodeSource, Node.js’nin resmi sürümünü sağlayan üçüncü taraf bir depodur. Bu yöntem, en güncel veya belirli Node.js sürümlerini kurmak için idealdir.
3. NVM (Node Version Manager) ile Kurulum: NVM, aynı sistemde birden fazla Node.js sürümünü yönetmenizi sağlayan bir araçtır. Geliştiriciler için en esnek ve güçlü yöntemdir, çünkü farklı projeler için farklı Node.js sürümleri gerekebilir.
Her yönteme başlamadan önce, sisteminizi güncel tutmak ve gerekli bağımlılıkları yüklemek önemlidir.
Kurulum Öncesi Hazırlıklar
Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin güncel olduğundan ve gerekli ön koşullara sahip olduğundan emin olmak iyi bir uygulamadır.
Sistem Güncelleme
Ubuntu’da paket listelerini güncellemek ve mevcut paketleri en son sürümlerine yükseltmek için aşağıdaki komutları kullanın:
sudo apt update
sudo apt upgrade -y
* sudo apt update: Paket listelerini sunuculardan çeker ve yerel önbelleği günceller.
* sudo apt upgrade -y: Yüklü tüm paketleri yükseltir. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı vermenizi sağlar.
Gerekli Bağımlılıkların Yüklenmesi
Bazı Node.js kurulum yöntemleri veya Node.js ile birlikte çalışacak derleyici araçları için build-essential paketi gibi bağımlılıklara ihtiyaç duyulabilir. Ayrıca, NodeSource gibi harici depoları eklemek için curl gibi araçlar da gerekebilir.
sudo apt install curl software-properties-common apt-transport-https build-essential -y
* curl: Uzak sunuculardan veri indirmek için kullanılan bir komut satırı aracıdır. NodeSource deposunu eklemek için kullanılacaktır.
* software-properties-common: Depo ekleme gibi işlemleri kolaylaştıran yardımcı programlar içerir.
* apt-transport-https: APT’nin HTTPS üzerinden depolara erişmesini sağlar.
* build-essential: Derleyici, başlık dosyaları ve yardımcı programlar dahil olmak üzere yazılım derlemek için gerekli olan tüm paketleri içerir. Node.js native eklentileri derlemek için gereklidir.
Bu ön hazırlık adımlarını tamamladıktan sonra, Node.js kurulum yöntemlerine geçebiliriz.
Yöntem 1: APT Paket Yöneticisi ile Node.js Kurulumu
Bu yöntem, Node.js’yi Ubuntu’nun varsayılan depolarından kurmanın en basit yoludur. Ancak, genellikle Ubuntu’nun LTS sürümleri için daha eski Node.js sürümlerini barındırır. Eğer en son özellikleri gerektirmeyen basit bir kurulum arıyorsanız, bu yöntem yeterli olabilir.
Node.js ve NPM Kurulumu
Aşağıdaki komutları kullanarak Node.js ve NPM’i yükleyebilirsiniz:
sudo apt install nodejs -y
sudo apt install npm -y
* sudo apt install nodejs: Node.js çalışma zamanını kurar.
* sudo apt install npm: Node.js paket yöneticisi olan NPM’i kurar. Node.js ile birlikte otomatik olarak gelmeyebilir, bu yüzden ayrı olarak kurulması önerilir.
Kurulumu Doğrulama
Kurulumun başarılı olup olmadığını kontrol etmek için Node.js ve NPM sürüm numaralarını sorgulayabilirsiniz:
node -v
npm -v
Bu komutlar, sisteminizde kurulu olan Node.js ve NPM sürüm numaralarını döndürmelidir. Eğer komutlar bulunamazsa veya hata verirse, kurulumda bir sorun olabilir.
Sınırlamalar
Bu yöntemin temel sınırlaması, Ubuntu 18.04’ün varsayılan depolarında genellikle güncel olmayan Node.js sürümlerinin bulunmasıdır. Örneğin, Ubuntu 18.04’ün depolarında Node.js’nin 8.x veya 10.x gibi eski bir LTS sürümü bulunabilirken, güncel LTS sürümleri 16.x, 18.x veya 20.x olabilir. Bu durum, modern uygulamaların gerektirdiği yeni özelliklerden veya güvenlik güncellemelerinden mahrum kalmanıza neden olabilir. Bu nedenle, çoğu geliştirme ve üretim ortamı için diğer yöntemler daha çok tercih edilir.
Yöntem 2: NodeSource Deposu Kullanarak Node.js Kurulumu
NodeSource, Node.js’nin en güncel ve kararlı sürümlerini sağlayan resmi bir üçüncü taraf depodur. Bu yöntem, Ubuntu’nun varsayılan depolarındaki eski sürümler sorununu ortadan kaldırır ve belirli bir Node.js LTS (Uzun Süreli Destek) veya kararlı sürümünü yüklemenize olanak tanır. Çoğu geliştirici ve sistem yöneticisi için önerilen yöntem budur.
NodeSource Deposu Ekleme
NodeSource deposunu eklemek için curl komutunu kullanarak NodeSource kurulum betiğini çalıştırmanız gerekir. Bu betik, depoyu sisteminize ekler ve GPG anahtarını içe aktarır.
Belirli Bir Node.js Sürümü Seçme
NodeSource, farklı Node.js sürümleri için farklı betikler sunar. Örneğin, Node.js 16.x, 18.x veya 20.x LTS sürümlerini yüklemek isteyebilirsiniz. Aşağıdaki örneklerde, en yaygın LTS sürümleri için komutlar gösterilmiştir. Kendi ihtiyacınıza göre uygun sürümü seçmelisiniz.
* Node.js 16.x LTS sürümünü kurmak için:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
* Node.js 18.x LTS sürümünü kurmak için:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
* Node.js 20.x LTS sürümünü kurmak için (önerilen en güncel LTS):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
Bu komutlardan birini çalıştırdıktan sonra, betik sisteminize NodeSource deposunu ekleyecek ve apt paket listesini güncelleyecektir. İşlem tamamlandığında, “Installation complete” mesajını görmelisiniz.
Node.js ve NPM Kurulumu
Depo başarıyla eklendikten ve apt paket listesi güncellendikten sonra, Node.js ve NPM’i yüklemek için aşağıdaki komutu kullanabilirsiniz:
sudo apt install nodejs -y
NodeSource deposu, nodejs paketiyle birlikte hem Node.js çalışma zamanını hem de NPM’i kurar. Bu nedenle, NPM’i ayrı olarak kurmanıza gerek yoktur.
Kurulumu Doğrulama
Kurulumun başarılı olup olmadığını kontrol etmek için Node.js ve NPM sürüm numaralarını sorgulayabilirsiniz:
node -v
npm -v
Bu komutlar, NodeSource deposundan yüklediğiniz Node.js ve NPM’in sürüm numaralarını göstermelidir.
Sık Karşılaşılan Sorunlar ve Çözümleri
* curl komutu bulunamadı: Eğer curl yüklü değilse, “curl: command not found” hatası alırsınız. Bu durumda, sudo apt install curl -y komutunu kullanarak curl‘u yükleyin ve ardından NodeSource betiğini tekrar çalıştırın.
* GPG anahtarı hatası: Nadiren de olsa, GPG anahtarı içe aktarımında sorunlar yaşanabilir. Genellikle NodeSource betiği bu sorunları otomatik olarak çözer, ancak manuel müdahale gerekirse, ilgili GPG anahtarını elle içe aktarmak gerekebilir.
* Eski Node.js sürümü yüklü kalıyor: Eğer daha önce APT ile Node.js’nin eski bir sürümünü kurduysanız, NodeSource deposunu ekledikten sonra bile eski sürüm kalabilir. Bu durumda, önce eski sürümü kaldırmanız (sudo apt remove nodejs npm -y) ve ardından NodeSource kurulum adımlarını tekrarlamanız gerekebilir.
Yöntem 3: NVM (Node Version Manager) ile Node.js Kurulumu
NVM (Node Version Manager), aynı sistemde birden fazla Node.js sürümünü kolayca kurmanızı, yönetmenizi ve aralarında geçiş yapmanızı sağlayan güçlü bir komut satırı aracıdır. Bu, özellikle farklı Node.js sürümlerini gerektiren birden fazla proje üzerinde çalışan geliştiriciler için son derece kullanışlıdır. NVM, Node.js’yi kullanıcı dizininize kurar, bu da sistem çapında değişiklikler yapmanızı engeller ve root ayrıcalıkları gerektirmez.
NVM Kurulumu
NVM’yi kurmak için, GitHub deposundan kurulum betiğini curl ile indirip çalıştırmanız gerekir. En güncel NVM sürümünü almak için NVM GitHub deposunu kontrol etmeniz önerilir. Aşağıdaki komut, genellikle en son kararlı sürümü kurar:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Not: v0.39.1 yerine NVM’nin en güncel sürüm numarasını kullanmanız önerilir. GitHub sayfasından güncel sürümü kontrol edebilirsiniz.
Kurulum betiği, NVM’yi kullanıcı dizininizdeki ~/.nvm konumuna indirir ve gerekli ortam değişkenlerini .bashrc, .profile veya .zshrc dosyanıza ekler. Bu değişikliklerin etkili olması için terminal oturumunuzu yeniden başlatmanız veya aşağıdaki komutu çalıştırmanız gerekir:
source ~/.bashrc
Veya
source ~/.profile
Veya
source ~/.zshrc
NVM’nin doğru şekilde yüklendiğini doğrulamak için sürüm numarasını kontrol edin:
nvm -v
Bu komut, NVM’nin sürüm numarasını döndürmelidir.
NVM Kullanarak Node.js Kurulumu
NVM yüklendikten sonra, farklı Node.js sürümlerini kurmak ve yönetmek çok kolaydır.
Belirli Bir Sürümü Kurma
En son LTS (Uzun Süreli Destek) sürümünü kurmak için:
nvm install --lts
Belirli bir sürümü (örneğin, 18.x veya 20.x) kurmak için:
nvm install 18
Veya
nvm install 20
NVM, belirtilen sürümü indirir ve kurar. Kurulum tamamlandığında, o sürüm otomatik olarak kullanılmaya başlanır.
Varsayılan Sürümü Ayarlama
Bir Node.js sürümünü varsayılan olarak ayarlamak için, NVM’nin her yeni terminal oturumunda otomatik olarak o sürümü kullanmasını sağlamak için alias default komutunu kullanın:
nvm alias default 20
Veya
nvm alias default node # Bu, en son kurulu sürümü varsayılan yapar
Farklı Sürümler Arasında Geçiş Yapma
Kurulu Node.js sürümleri arasında geçiş yapmak için nvm use komutunu kullanın:
nvm use 18
Bu komut, mevcut terminal oturumunuz için Node.js sürümünü 18.x olarak değiştirir.
Kurulu Sürümleri Listeleme
Sisteminizde NVM aracılığıyla kurulu tüm Node.js sürümlerini listelemek için:
nvm ls
Bu komut, kurulu sürümleri ve o anda hangi sürümün kullanıldığını gösterir.
Bir Sürümü Kaldırma
Bir Node.js sürümünü kaldırmak için:
nvm uninstall 16
Bu komut, Node.js 16.x sürümünü sisteminizden kaldırır.
NPM Paketlerini Yönetme
NVM ile her Node.js sürümü, kendi NPM paketleri koleksiyonuna sahiptir. Bir Node.js sürümüne geçtiğinizde, o sürümle ilişkili NPM de etkinleşir. Global olarak yüklediğiniz NPM paketleri, genellikle o Node.js sürümüne özeldir.
Node.js ve NPM Kurulumunu Doğrulama
Hangi yöntemi kullanmış olursanız olun, Node.js ve NPM kurulumunun başarılı olduğunu doğrulamak için aşağıdaki komutları kullanın:
node -v
npm -v
npx -v # Npm 5.2.0 ve sonrası ile gelen bir araçtır.
* node -v: Node.js sürümünü gösterir.
* npm -v: NPM sürümünü gösterir.
* npx -v: npx (Node Package Execute), NPM 5.2.0 ve sonrası ile gelen bir araçtır. Yerel olarak yüklü paketleri doğrudan çalıştırmanıza olanak tanır. Sürümünü kontrol etmek, NPM’in doğru çalıştığını gösterir.
Bu komutlar, beklenen sürüm numaralarını döndürmelidir.
Node.js Ortamını Yapılandırma ve Kullanım İpuçları
Node.js ve NPM başarıyla kurulduktan sonra, geliştirme ortamınızı yapılandırmak ve temel işlemleri gerçekleştirmek için bazı ipuçları:
NPM Paket Yönetimi
NPM, Node.js ekosisteminin kalbinde yer alır. Uygulamalarınız için bağımlılıkları yönetmek için kullanılır.
* Yeni bir proje başlatma:
mkdir my-node-app
cd my-node-app
npm init -y # Varsayılan ayarlar ile package.json dosyası oluşturur
* Paket yükleme:
npm install express # Projenize 'express' paketini yükler
npm install --save-dev nodemon # Geliştirme bağımlılığı olarak 'nodemon' yükler
* Tüm bağımlılıkları yükleme:
npm install # package.json dosyasındaki tüm bağımlılıkları yükler
Global Paket Kurulumu
Bazı paketler, tüm sistem genelinde komut satırından erişilebilen araçlar olarak global olarak kurulur. Örneğin, create-react-app veya pm2 gibi araçlar.
npm install -g pm2 # PM2 (process manager) global olarak yükler
Uyarı: Global paketlerin yönetimi, özellikle NVM kullanırken dikkat gerektirir. Her Node.js sürümünün kendi global paketleri vardır.
Node.js Uygulaması Çalıştırma Örneği
Basit bir Node.js uygulaması oluşturup çalıştıralım.
app.js adında bir dosya oluşturun:
// app.js
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Merhaba Dunya!\n');
});
server.listen(port, hostname, () => {
console.log(Sunucu http://${hostname}:${port}/ adresinde calisiyor.);
});
Bu uygulamayı çalıştırmak için terminalde:
node app.js
Tarayıcınızda http://127.0.0.1:3000/ adresine giderek “Merhaba Dunya!” mesajını görmelisiniz.
Node.js Sürümünü Güncelleme
Node.js ve NPM sürümlerini güncel tutmak, güvenlik yamalarından ve yeni özelliklerden faydalanmak için önemlidir. Güncelleme yöntemi, kurulum yönteminize bağlıdır.
NodeSource ile Güncelleme
Eğer NodeSource deposunu kullanarak Node.js kurduysanız, yeni bir LTS sürümü çıktığında veya mevcut sürümünüzü daha yeni bir kararlı sürüme yükseltmek istediğinizde, NodeSource betiğini ilgili sürüm numarasıyla tekrar çalıştırmanız ve ardından apt install nodejs komutunu kullanmanız gerekir.
Örneğin, Node.js 18.x’ten 20.x’e geçmek için:
# Önce mevcut Node.js ve NPM'i kaldırın
sudo apt remove nodejs -y
Yeni sürüm için NodeSource deposunu ekleyin (örneğin 20.x)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
Yeni Node.js sürümünü kurun
sudo apt install nodejs -y
Bu adımlar, sisteminizdeki Node.js sürümünü güncelleyecektir.
NVM ile Güncelleme
NVM kullanıyorsanız, güncelleme işlemi çok daha basittir. Yeni bir sürümü kurup varsayılan olarak ayarlamanız yeterlidir:
nvm install --lts # En son LTS sürümünü kurar
nvm alias default node # En son kurulu sürümü varsayılan yapar
nvm use node # Mevcut oturumda en son kurulu sürümü kullanır
Bu, önceki sürümleri kaldırmanıza gerek kalmadan yeni bir sürümü kullanmaya başlamanızı sağlar. İsterseniz eski sürümleri nvm uninstall komutuyla kaldırabilirsiniz.
Node.js Kaldırma
Node.js’yi sisteminizden tamamen kaldırmak isteyebilirsiniz. Kaldırma işlemi de kurulum yöntemine göre değişiklik gösterir.
APT ile Kaldırma
Eğer Node.js’yi APT paket yöneticisi ile kurduysanız:
sudo apt remove nodejs npm -y
sudo apt purge nodejs npm -y # Konfigürasyon dosyalarını da siler
sudo apt autoremove -y # Bağımlılıkları temizler
NodeSource ile Kaldırma
NodeSource deposu üzerinden kurduysanız, yine APT komutlarını kullanırsınız:
sudo apt remove nodejs -y
sudo apt purge nodejs -y # Konfigürasyon dosyalarını da siler
sudo rm -f /etc/apt/sources.list.d/nodesource.list # NodeSource deposunu kaldırır
sudo apt update # Depo listesini günceller
sudo apt autoremove -y
NVM ile Kaldırma
NVM ile kurulu tüm Node.js sürümlerini kaldırmak ve NVM’yi tamamen silmek için:
1. Tüm Node.js sürümlerini kaldırın:
nvm uninstall --all
2. NVM betiklerini .bashrc veya .profile dosyanızdan kaldırın:
Bu dosyaları bir metin düzenleyici ile açın (nano ~/.bashrc gibi) ve NVM ile ilgili satırları (export NVM_DIR, [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" gibi) silin.
3. NVM dizinini silin:
rm -rf ~/.nvm
4. Terminal oturumunuzu yeniden başlatın.
Sonuç
Bu kapsamlı rehberde, Ubuntu 18.04 üzerine Node.js’yi kurmak için üç farklı yöntemi detaylı bir şekilde inceledik: APT paket yöneticisi, NodeSource deposu ve NVM (Node Version Manager). Her bir yöntemin kendine özgü avantajları ve dezavantajları bulunmaktadır.
* APT ile kurulum, en basit yol olsa da genellikle eski Node.js sürümlerini sunar ve çoğu geliştirme senaryosu için önerilmez.
* NodeSource deposu ile kurulum, güncel ve belirli LTS sürümlerini edinmek için harika bir seçenektir ve çoğu tek sürüm gerektiren üretim ortamı için idealdir.
* NVM ile kurulum, en esnek yöntemdir ve aynı sistemde birden fazla Node.js sürümünü yönetme ihtiyacı olan geliştiriciler için vazgeçilmezdir.
Hangi yöntemi seçerseniz seçin, kurulum öncesi sisteminizi güncellemek ve gerekli bağımlılıkları yüklemek her zaman iyi bir başlangıç noktasıdır. Node.js ve NPM’in doğru şekilde kurulduğundan emin olmak için sürüm doğrulama komutlarını kullanmayı unutmayın. Bu rehber sayesinde, Ubuntu 18.04 sunucunuzda veya geliştirme ortamınızda Node.js’yi başarıyla kurmuş ve kullanıma hazır hale getirmiş olacaksınız. Modern web uygulamaları geliştirmeye başlamak için artık hazırsınız!