{"id":35998,"date":"2025-12-06T15:40:46","date_gmt":"2025-12-06T12:40:46","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35998"},"modified":"2025-12-06T15:40:46","modified_gmt":"2025-12-06T12:40:46","slug":"debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/","title":{"rendered":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi<\/h2>\n<p>Node.js, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri haline gelmi\u015f, sunucu taraf\u0131nda JavaScript \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131lan a\u00e7\u0131k kaynakl\u0131, \u00e7apraz platform bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131d\u0131r. Google Chrome&#8217;un V8 JavaScript motoru \u00fczerine in\u015fa edilen Node.js, olay odakl\u0131, engellemeyen I\/O modeli sayesinde y\u00fcksek performansl\u0131 ve \u00f6l\u00e7eklenebilir a\u011f uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. Bu makalede, kararl\u0131 ve yayg\u0131n olarak kullan\u0131lan bir i\u015fletim sistemi olan Debian 9 (&#8220;Stretch&#8221;) \u00fczerine Node.js&#8217;i farkl\u0131 y\u00f6ntemlerle nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ve detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Node.js Nedir ve Neden Kullan\u0131l\u0131r?<\/h3>\n<p>Node.js, JavaScript&#8217;i taray\u0131c\u0131 d\u0131\u015f\u0131nda, sunucu taraf\u0131nda \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131yan bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131d\u0131r. Geleneksel olarak JavaScript yaln\u0131zca web taray\u0131c\u0131lar\u0131nda etkile\u015fimli kullan\u0131c\u0131 aray\u00fczleri olu\u015fturmak i\u00e7in kullan\u0131l\u0131rken, Node.js ile tam te\u015fekk\u00fcll\u00fc arka u\u00e7 (backend) hizmetleri, API&#8217;ler, mikro hizmetler ve hatta komut sat\u0131r\u0131 ara\u00e7lar\u0131 geli\u015ftirmek m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>Node.js&#8217;in temel \u00f6zellikleri ve avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>Asenkron ve Engellemeyen I\/O:<\/strong> Bu model, Node.js&#8217;in tek bir i\u015f par\u00e7ac\u0131\u011f\u0131nda (thread) binlerce e\u015fzamanl\u0131 ba\u011flant\u0131y\u0131 y\u00f6netmesini sa\u011flar. Bir i\u015flem veri beklerken (\u00f6rne\u011fin, veritaban\u0131 sorgusu veya dosya okuma), Node.js di\u011fer i\u015flemleri y\u00fcr\u00fctmeye devam edebilir. Bu, uygulamalar\u0131n daha h\u0131zl\u0131 ve daha verimli olmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>V8 JavaScript Motoru:<\/strong> Google Chrome&#8217;un y\u00fcksek performansl\u0131 V8 motorunu kullanmas\u0131 sayesinde JavaScript kodunu \u00e7ok h\u0131zl\u0131 bir \u015fekilde derler ve \u00e7al\u0131\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Tek Dil:<\/strong> Hem \u00f6n u\u00e7 (frontend) hem de arka u\u00e7 (backend) i\u00e7in JavaScript kullanma yetene\u011fi, geli\u015ftirme s\u00fcrecini basitle\u015ftirir, ekip i\u00e7indeki bilgi payla\u015f\u0131m\u0131n\u0131 art\u0131r\u0131r ve ba\u011flam de\u011fi\u015fim maliyetini azalt\u0131r.<br \/>\n*   <strong>Geni\u015f Ekosistem (npm):<\/strong> Node Package Manager (npm), d\u00fcnyan\u0131n en b\u00fcy\u00fck yaz\u0131l\u0131m kay\u0131t defterlerinden biridir ve binlerce a\u00e7\u0131k kaynakl\u0131 k\u00fct\u00fcphane ve araca eri\u015fim sa\u011flar. Bu, geli\u015ftiricilerin tekerle\u011fi yeniden icat etmek yerine mevcut \u00e7\u00f6z\u00fcmleri kullanmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Node.js, mikro hizmet mimarileri ve API odakl\u0131 uygulamalar i\u00e7in do\u011fal bir uyum sa\u011flar. K\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z hizmetler olu\u015fturarak uygulamalar\u0131n daha kolay \u00f6l\u00e7eklenmesine olanak tan\u0131r.<br \/>\n*   <strong>H\u0131zl\u0131 Geli\u015ftirme:<\/strong> npm&#8217;in zengin k\u00fct\u00fcphane ekosistemi ve JavaScript&#8217;in esnekli\u011fi sayesinde, Node.js ile uygulamalar h\u0131zl\u0131 bir \u015fekilde geli\u015ftirilebilir ve prototiplenebilir.<\/p>\n<p>Debian 9, sunucu ortamlar\u0131nda kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenilirli\u011fi nedeniyle s\u0131k\u00e7a tercih edilen bir i\u015fletim sistemidir. Bu nedenle, Node.js&#8217;i Debian 9 \u00fczerine kurmak, g\u00fc\u00e7l\u00fc ve modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in sa\u011flam bir temel olu\u015fturacakt\u0131r.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Node.js kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n yerine getirildi\u011finden emin olun:<\/p>\n<p>*   <strong>Debian 9 \u0130\u015fletim Sistemi:<\/strong> Sunucunuzda veya sanal makinenizde Debian 9 (&#8220;Stretch&#8221;) kurulu olmal\u0131d\u0131r.<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Kurulum i\u015flemleri i\u00e7in y\u00f6netici (root) ayr\u0131cal\u0131klar\u0131na veya <code>sudo<\/code> komutunu kullanabilen bir kullan\u0131c\u0131ya sahip olman\u0131z gerekmektedir.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Paketleri indirmek ve depolar\u0131 g\u00fcncellemek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131 gereklidir.<br \/>\n*   <strong>Temel Terminal Bilgisi:<\/strong> Komut sat\u0131r\u0131 aray\u00fcz\u00fcn\u00fc (CLI) kullanmaya a\u015fina olman\u0131z beklenir.<\/p>\n<h3>Node.js Kurulum Y\u00f6ntemleri<\/h3>\n<p>Debian 9 \u00fczerine Node.js kurmak i\u00e7in birka\u00e7 farkl\u0131 y\u00f6ntem bulunmaktad\u0131r. Her y\u00f6ntemin kendine \u00f6zg\u00fc avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r ve se\u00e7iminiz kullan\u0131m senaryonuza ba\u011fl\u0131 olacakt\u0131r. Bu b\u00f6l\u00fcmde en yayg\u0131n ve \u00f6nerilen y\u00f6ntemleri detayl\u0131 olarak inceleyece\u011fiz.<\/p>\n<h4>1. Debian&#8217;\u0131n Resmi Depolar\u0131n\u0131 Kullanarak Kurulum<\/h4>\n<p>Bu y\u00f6ntem, Node.js&#8217;i Debian&#8217;\u0131n kendi resmi paket y\u00f6neticisi <code>apt<\/code> arac\u0131l\u0131\u011f\u0131yla kurman\u0131n en basit ve en h\u0131zl\u0131 yoludur. Ancak, Debian&#8217;\u0131n kararl\u0131l\u0131k ilkesi nedeniyle, depolardaki Node.js s\u00fcr\u00fcm\u00fc genellikle en g\u00fcncel s\u00fcr\u00fcm olmayabilir. E\u011fer en son \u00f6zellikleri veya belirli bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc kullanman\u0131z gerekmiyorsa, bu y\u00f6ntem yeterli olacakt\u0131r.<\/p>\n<h5>Ad\u0131m 1: Paket Listesini G\u00fcncelleme<\/h5>\n<p>Kuruluma ba\u015flamadan \u00f6nce sisteminizdeki paket listesini g\u00fcncellemeli ve mevcut paketleri y\u00fckseltmelisiniz. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade<\/code><\/pre>\n<p><code>apt update<\/code> komutu, yerel paket indeksini uzak depolardaki en son bilgilerle senkronize ederken, <code>apt upgrade<\/code> komutu ise kurulu paketlerin yeni s\u00fcr\u00fcmleri varsa bunlar\u0131 y\u00fckseltir.<\/p>\n<h5>Ad\u0131m 2: Node.js ve npm Kurulumu<\/h5>\n<p>Paket listesi g\u00fcncellendikten sonra, Node.js ve npm&#8217;i a\u015fa\u011f\u0131daki komutla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install nodejs npm<\/code><\/pre>\n<p>Debian&#8217;\u0131n resmi depolar\u0131nda, <code>nodejs<\/code> paketi Node.js \u00e7al\u0131\u015fma zaman\u0131n\u0131, <code>npm<\/code> paketi ise Node Package Manager&#8217;\u0131 i\u00e7erir. Baz\u0131 eski Debian s\u00fcr\u00fcmlerinde <code>nodejs<\/code> paketi <code>node<\/code> olarak adland\u0131r\u0131lan farkl\u0131 bir yaz\u0131l\u0131mla \u00e7ak\u0131\u015fabilir, bu y\u00fczden Node.js y\u00fcr\u00fct\u00fclebilir dosyas\u0131 <code>nodejs<\/code> olarak adland\u0131r\u0131l\u0131r. Ancak bu genellikle <code>node<\/code> komutuyla bir sembolik ba\u011flant\u0131 olu\u015fturularak d\u00fczeltilir.<\/p>\n<h5>Ad\u0131m 3: Kurulumu Do\u011frulama<\/h5>\n<p>Kurulum tamamland\u0131ktan sonra, Node.js ve npm&#8217;in do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 ve hangi s\u00fcr\u00fcmlerin y\u00fcklendi\u011fini kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">nodejs -v\nnpm -v<\/code><\/pre>\n<p>E\u011fer <code>nodejs -v<\/code> komutu bir hata verirse ve <code>node -v<\/code> komutu \u00e7al\u0131\u015f\u0131yorsa, bu <code>nodejs<\/code> yerine <code>node<\/code> olarak sembolik ba\u011flant\u0131n\u0131n zaten var oldu\u011fu anlam\u0131na gelir. Her iki durumda da, s\u00fcr\u00fcm numaralar\u0131n\u0131 g\u00f6rmeniz kurulumun ba\u015far\u0131l\u0131 oldu\u011funu g\u00f6sterir.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   Kurulumu en kolay y\u00f6ntemdir.<br \/>\n*   Sistem g\u00fcncellemeleriyle birlikte Node.js de g\u00fcncellenir.<br \/>\n*   Debian&#8217;\u0131n kararl\u0131l\u0131k ve g\u00fcvenilirlik ilkelerine uygundur.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   Node.js s\u00fcr\u00fcm\u00fc genellikle en g\u00fcncel de\u011fildir. \u00d6zellikle yeni \u00f6zelliklere veya belirli bir s\u00fcr\u00fcme ba\u011f\u0131ml\u0131 projeler i\u00e7in uygun olmayabilir.<\/p>\n<h4>2. NodeSource Depolar\u0131n\u0131 Kullanarak Kurulum<\/h4>\n<p>Debian&#8217;\u0131n resmi depolar\u0131ndaki Node.js s\u00fcr\u00fcm\u00fc genellikle eski oldu\u011fu i\u00e7in, \u00e7o\u011fu geli\u015ftirici ve sistem y\u00f6neticisi NodeSource depolar\u0131n\u0131 kullanmay\u0131 tercih eder. NodeSource, Node.js&#8217;in farkl\u0131 LTS (Uzun S\u00fcreli Destek) ve g\u00fcncel s\u00fcr\u00fcmlerini sa\u011flayan \u00fc\u00e7\u00fcnc\u00fc taraf bir depodur. Bu y\u00f6ntem, daha g\u00fcncel ve belirli bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc kurman\u0131za olanak tan\u0131r.<\/p>\n<h5>Ad\u0131m 1: Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme<\/h5>\n<p>NodeSource deposunu eklemek i\u00e7in <code>curl<\/code> ve <code>gnupg2<\/code> gibi baz\u0131 yard\u0131mc\u0131 programlara ihtiyac\u0131m\u0131z var:<\/p>\n<pre><code class=\"language-bash\">sudo apt install curl gnupg2 ca-certificates -y<\/code><\/pre>\n<p>*   <code>curl<\/code>: Uzak sunuculardan dosya indirmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>gnupg2<\/code>: GPG anahtarlar\u0131n\u0131 y\u00f6netmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>ca-certificates<\/code>: SSL sertifikalar\u0131n\u0131 do\u011frulamak i\u00e7in gereklidir.<\/p>\n<h5>Ad\u0131m 2: NodeSource Deposu Ekleme<\/h5>\n<p>\u015eimdi NodeSource kurulum beti\u011fini \u00e7al\u0131\u015ft\u0131rarak GPG anahtar\u0131n\u0131 sisteminize ekleyece\u011fiz ve NodeSource deposunu <code>apt<\/code> kaynaklar\u0131n\u0131za dahil edece\u011fiz. Node.js&#8217;in hangi LTS s\u00fcr\u00fcm\u00fcn\u00fc kurmak istedi\u011finize ba\u011fl\u0131 olarak komut de\u011fi\u015fir. \u00d6rne\u011fin, Node.js 16 LTS (o d\u00f6nem i\u00e7in uygun bir LTS s\u00fcr\u00fcm\u00fc varsayal\u0131m) kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/deb.nodesource.com\/setup_16.x | sudo -E bash -<\/code><\/pre>\n<p><strong>Not:<\/strong> Yukar\u0131daki <code>setup_16.x<\/code> k\u0131sm\u0131n\u0131 istedi\u011finiz Node.js LTS s\u00fcr\u00fcm\u00fcne g\u00f6re de\u011fi\u015ftirebilirsiniz (\u00f6rne\u011fin, <code>setup_18.x<\/code>, <code>setup_20.x<\/code>). Debian 9 i\u00e7in daha eski bir LTS s\u00fcr\u00fcm\u00fc (\u00f6rne\u011fin 12.x veya 14.x) daha uyumlu olabilir, ancak genellikle NodeSource betikleri uyumlulu\u011fu kontrol eder. Betik, NodeSource GPG anahtar\u0131n\u0131 indirir, do\u011frular ve sisteminize ekler, ard\u0131ndan NodeSource deposunu <code>\/etc\/apt\/sources.list.d\/nodesource.list<\/code> dosyas\u0131na ekler.<\/p>\n<p>Bu komutun ba\u015far\u0131yla \u00e7al\u0131\u015fmas\u0131, <code>apt<\/code>&#8216;in NodeSource deposundan Node.js paketlerini alabilece\u011fi anlam\u0131na gelir.<\/p>\n<h5>Ad\u0131m 3: Node.js Kurulumu<\/h5>\n<p>Depo eklendikten sonra, paket listesini g\u00fcncellemeli ve Node.js&#8217;i kurmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install nodejs -y<\/code><\/pre>\n<p>Bu komut, NodeSource deposundan Node.js&#8217;in belirtilen s\u00fcr\u00fcm\u00fcn\u00fc ve onunla birlikte gelen npm&#8217;i kuracakt\u0131r. Bu y\u00f6ntemde npm, Node.js paketiyle birlikte gelir ve ayr\u0131 olarak kurmaya gerek yoktur.<\/p>\n<h5>Ad\u0131m 4: Kurulumu Do\u011frulama<\/h5>\n<p>Kurulum tamamland\u0131ktan sonra, Node.js ve npm&#8217;in do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Bu komutlar, NodeSource deposundan y\u00fckledi\u011finiz Node.js ve npm&#8217;in s\u00fcr\u00fcm numaralar\u0131n\u0131 g\u00f6stermelidir.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   En g\u00fcncel LTS veya kararl\u0131 Node.js s\u00fcr\u00fcmlerine eri\u015fim sa\u011flar.<br \/>\n*   \u00dcretim ortamlar\u0131 i\u00e7in genellikle tercih edilen y\u00f6ntemdir.<br \/>\n*   npm, Node.js ile birlikte gelir.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   Sisteminize \u00fc\u00e7\u00fcnc\u00fc taraf bir depo ekler.<br \/>\n*   Debian&#8217;\u0131n resmi depolar\u0131ndan daha az test edilmi\u015f olabilir (ancak NodeSource olduk\u00e7a g\u00fcvenilirdir).<\/p>\n<h4>3. NVM (Node Version Manager) Kullanarak Kurulum<\/h4>\n<p>NVM (Node Version Manager), tek bir sistemde birden fazla Node.js s\u00fcr\u00fcm\u00fcn\u00fc y\u00f6netmenizi sa\u011flayan bir komut dosyas\u0131d\u0131r. Bu, \u00f6zellikle farkl\u0131 projeler i\u00e7in farkl\u0131 Node.js s\u00fcr\u00fcmlerine ihtiya\u00e7 duyan geli\u015ftiriciler i\u00e7in son derece kullan\u0131\u015fl\u0131d\u0131r. NVM, Node.js&#8217;i kullan\u0131c\u0131n\u0131n ev dizinine kurar, bu da sistem genelindeki paketleri etkilemeden farkl\u0131 s\u00fcr\u00fcmler aras\u0131nda kolayca ge\u00e7i\u015f yapman\u0131z\u0131 sa\u011flar.<\/p>\n<h5>Ad\u0131m 1: Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme<\/h5>\n<p>NVM&#8217;nin Node.js kaynak kodunu derlemesi gerekebilir, bu y\u00fczden derleme ara\u00e7lar\u0131n\u0131 (build essentials) kurman\u0131z \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo apt install build-essential libssl-dev -y<\/code><\/pre>\n<p>*   <code>build-essential<\/code>: GCC, G++ ve make gibi temel derleme ara\u00e7lar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>libssl-dev<\/code>: OpenSSL geli\u015ftirme k\u00fct\u00fcphanelerini sa\u011flar.<\/p>\n<h5>Ad\u0131m 2: NVM&#8217;yi Kurma<\/h5>\n<p>NVM&#8217;yi kurmak i\u00e7in, GitHub deposundan kurulum beti\u011fini indirmeli ve \u00e7al\u0131\u015ft\u0131rmal\u0131s\u0131n\u0131z. En g\u00fcncel NVM s\u00fcr\u00fcm\u00fcn\u00fc kullanmak i\u00e7in NVM GitHub deposunu kontrol etmeniz \u00f6nerilir. Bu makale yaz\u0131ld\u0131\u011f\u0131 s\u0131rada <code>v0.39.1<\/code> g\u00fcncel bir s\u00fcr\u00fcm olarak kabul edilebilir:<\/p>\n<pre><code class=\"language-bash\">curl -o- https:\/\/raw.githubusercontent.com\/nvm-sh\/nvm\/v0.39.1\/install.sh | bash<\/code><\/pre>\n<p>Bu komut, NVM beti\u011fini indirir ve \u00e7al\u0131\u015ft\u0131r\u0131r. Betik, NVM&#8217;yi kullan\u0131c\u0131n\u0131n ev dizinindeki <code>.nvm<\/code> klas\u00f6r\u00fcne kurar ve NVM&#8217;yi kabuk ortam\u0131n\u0131za y\u00fcklemek i\u00e7in gerekli sat\u0131rlar\u0131 <code>.bashrc<\/code>, <code>.profile<\/code> veya <code>.zshrc<\/code> gibi kabuk yap\u0131land\u0131rma dosyalar\u0131n\u0131za ekler.<\/p>\n<p>Kurulumdan sonra, terminalinizi kapat\u0131p yeniden a\u00e7man\u0131z veya a\u015fa\u011f\u0131daki komutu kullanarak kabuk ortam\u0131n\u0131z\u0131 g\u00fcncellemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc\n<h2>veya<\/h2>\nsource ~\/.profile<\/code><\/pre>\n<p>Bu, NVM&#8217;nin komutlar\u0131n\u0131 kabu\u011funuzda kullan\u0131labilir hale getirir. NVM&#8217;nin ba\u015far\u0131yla kuruldu\u011funu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm --version<\/code><\/pre>\n<p>S\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6rmeniz gerekir.<\/p>\n<h5>Ad\u0131m 3: Node.js S\u00fcr\u00fcmlerini Y\u00fckleme<\/h5>\n<p>NVM kurulduktan sonra, istedi\u011finiz Node.js s\u00fcr\u00fcmlerini y\u00fckleyebilirsiniz. \u00d6rne\u011fin, en son LTS s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm install --lts<\/code><\/pre>\n<p>Belirli bir s\u00fcr\u00fcm\u00fc kurmak i\u00e7in (\u00f6rne\u011fin, Node.js 16):<\/p>\n<pre><code class=\"language-bash\">nvm install 16<\/code><\/pre>\n<p>Y\u00fckledi\u011finiz Node.js s\u00fcr\u00fcmlerini listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm ls<\/code><\/pre>\n<p>Bu komut, y\u00fckl\u00fc t\u00fcm Node.js s\u00fcr\u00fcmlerini ve o anda kullan\u0131lan s\u00fcr\u00fcm\u00fc g\u00f6sterecektir.<\/p>\n<h5>Ad\u0131m 4: Varsay\u0131lan S\u00fcr\u00fcm\u00fc Ayarlama ve Kullanma<\/h5>\n<p>Y\u00fckledi\u011finiz s\u00fcr\u00fcmlerden birini varsay\u0131lan olarak ayarlayabilirsiniz, b\u00f6ylece her yeni terminal oturumunda bu s\u00fcr\u00fcm otomatik olarak kullan\u0131l\u0131r:<\/p>\n<pre><code class=\"language-bash\">nvm alias default 16<\/code><\/pre>\n<p>Farkl\u0131 bir Node.js s\u00fcr\u00fcm\u00fcne ge\u00e7mek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">nvm use 14<\/code><\/pre>\n<p>Bu komut, mevcut terminal oturumunuz i\u00e7in Node.js s\u00fcr\u00fcm\u00fcn\u00fc de\u011fi\u015ftirir.<\/p>\n<h5>Ad\u0131m 5: Kurulumu Do\u011frulama<\/h5>\n<p>Y\u00fckl\u00fc Node.js ve npm s\u00fcr\u00fcmlerini kontrol edin:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Bu komutlar, NVM arac\u0131l\u0131\u011f\u0131yla se\u00e7ti\u011finiz Node.js s\u00fcr\u00fcm\u00fcn\u00fc ve onunla birlikte gelen npm s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   Ayn\u0131 sistemde birden fazla Node.js s\u00fcr\u00fcm\u00fcn\u00fc y\u00f6netme yetene\u011fi.<br \/>\n*   Farkl\u0131 projeler i\u00e7in farkl\u0131 s\u00fcr\u00fcmler aras\u0131nda kolayca ge\u00e7i\u015f yapma imkan\u0131.<br \/>\n*   Kullan\u0131c\u0131 baz\u0131nda kurulum, sistem genelini etkilemez.<br \/>\n*   Geli\u015ftiriciler i\u00e7in idealdir.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   Sistem genelinde de\u011fil, kullan\u0131c\u0131 baz\u0131nda kurulur.<br \/>\n*   Her kullan\u0131c\u0131 kendi NVM kurulumunu ve Node.js s\u00fcr\u00fcmlerini y\u00f6netmek zorundad\u0131r.<br \/>\n*   Manuel olarak kabuk yap\u0131land\u0131rma dosyalar\u0131na eklenmesi gerekebilir.<\/p>\n<h4>4. Manuel Kurulum (\u0130kili Tarball)<\/h4>\n<p>Bu y\u00f6ntem, Node.js&#8217;i do\u011frudan resmi web sitesinden indirdi\u011finiz ikili (binary) bir paketten kurmay\u0131 i\u00e7erir. Genellikle, di\u011fer y\u00f6ntemler i\u015fe yaramad\u0131\u011f\u0131nda veya Node.js kurulumu \u00fczerinde tam kontrol sa\u011flamak istedi\u011finizde tercih edilir. Manuel kurulum, g\u00fcncellemelerin de manuel olarak yap\u0131lmas\u0131n\u0131 gerektirir.<\/p>\n<h5>Ad\u0131m 1: Node.js \u0130kili Dosyas\u0131n\u0131 \u0130ndirme<\/h5>\n<p>Node.js&#8217;in resmi web sitesi olan <code>nodejs.org<\/code> adresine gidin ve Linux Binaries (x64) i\u00e7in istedi\u011finiz LTS s\u00fcr\u00fcm\u00fcn\u00fcn tarball (.tar.xz) dosyas\u0131n\u0131 indirin. \u00d6rne\u011fin, Node.js 16.x LTS s\u00fcr\u00fcm\u00fcn\u00fc indirmek i\u00e7in <code>curl<\/code> kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\ncurl -O https:\/\/nodejs.org\/dist\/v16.20.2\/node-v16.20.2-linux-x64.tar.xz<\/code><\/pre>\n<p><strong>Not:<\/strong> <code>v16.20.2<\/code> ve URL&#8217;yi indirmek istedi\u011finiz g\u00fcncel LTS s\u00fcr\u00fcm\u00fcne g\u00f6re de\u011fi\u015ftirmelisiniz.<\/p>\n<h5>Ad\u0131m 2: Tarball&#8217;\u0131 \u00c7\u0131kartma<\/h5>\n<p>\u0130ndirdi\u011finiz tarball dosyas\u0131n\u0131 \u00e7\u0131kart\u0131n:<\/p>\n<pre><code class=\"language-bash\">tar -xvf node-v16.20.2-linux-x64.tar.xz<\/code><\/pre>\n<p>Bu komut, <code>node-v16.20.2-linux-x64<\/code> ad\u0131nda bir dizin olu\u015fturacakt\u0131r.<\/p>\n<h5>Ad\u0131m 3: Node.js Dosyalar\u0131n\u0131 Hedef Dizine Ta\u015f\u0131ma<\/h5>\n<p>\u00c7\u0131kart\u0131lan dosyalar\u0131 sistem genelinde eri\u015filebilir bir konuma ta\u015f\u0131y\u0131n. Genellikle <code>\/usr\/local\/lib\/nodejs<\/code> veya <code>\/opt\/nodejs<\/code> gibi bir dizin tercih edilir.<\/p>\n<pre><code class=\"language-bash\">sudo mv node-v16.20.2-linux-x64 \/usr\/local\/lib\/nodejs<\/code><\/pre>\n<h5>Ad\u0131m 4: PATH Ortam De\u011fi\u015fkenini Yap\u0131land\u0131rma<\/h5>\n<p>Node.js y\u00fcr\u00fct\u00fclebilir dosyalar\u0131na sistem genelinde eri\u015filebilmesi i\u00e7in <code>PATH<\/code> ortam de\u011fi\u015fkeninize Node.js bin dizinini eklemeniz gerekir. Bunun i\u00e7in <code>\/etc\/profile<\/code> veya <code>\/etc\/environment<\/code> gibi sistem genelindeki bir dosyay\u0131 d\u00fczenleyebilirsiniz. Daha basit bir yakla\u015f\u0131m, <code>\/usr\/local\/bin<\/code> dizinine sembolik ba\u011flant\u0131lar olu\u015fturmakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/usr\/local\/lib\/nodejs\/node-v16.20.2-linux-x64\/bin\/node \/usr\/local\/bin\/node\nsudo ln -s \/usr\/local\/lib\/nodejs\/node-v16.20.2-linux-x64\/bin\/npm \/usr\/local\/bin\/npm\nsudo ln -s \/usr\/local\/lib\/nodejs\/node-v16.20.2-linux-x64\/bin\/npx \/usr\/local\/bin\/npx<\/code><\/pre>\n<p>Bu komutlar, Node.js, npm ve npx i\u00e7in <code>\/usr\/local\/bin<\/code> dizininde sembolik ba\u011flant\u0131lar olu\u015fturur. <code>\/usr\/local\/bin<\/code> genellikle zaten <code>PATH<\/code> i\u00e7inde oldu\u011fu i\u00e7in, bu Node.js komutlar\u0131n\u0131n her yerden eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h5>Ad\u0131m 5: Kurulumu Do\u011frulama<\/h5>\n<p>Kurulumu do\u011frulamak i\u00e7in Node.js ve npm s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>S\u00fcr\u00fcm numaralar\u0131n\u0131 g\u00f6rmeniz, manuel kurulumun ba\u015far\u0131l\u0131 oldu\u011funu g\u00f6sterir.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   Node.js kurulumu \u00fczerinde tam kontrol sa\u011flar.<br \/>\n*   Paket y\u00f6neticisi ba\u011f\u0131ml\u0131l\u0131klar\u0131 yoktur.<br \/>\n*   \u0130stenilen herhangi bir s\u00fcr\u00fcm\u00fc kurma esnekli\u011fi.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   Kurulum s\u00fcreci daha karma\u015f\u0131kt\u0131r.<br \/>\n*   G\u00fcncellemeler manuel olarak yap\u0131lmal\u0131d\u0131r.<br \/>\n*   Hata yapma olas\u0131l\u0131\u011f\u0131 daha y\u00fcksektir.<br \/>\n*   Genellikle sadece \u00f6zel durumlar i\u00e7in \u00f6nerilir.<\/p>\n<h3>Kurulumu Do\u011frulama ve Basit Bir Node.js Uygulamas\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>Hangi kurulum y\u00f6ntemini kullan\u0131rsan\u0131z kullan\u0131n, Node.js&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in basit bir test yapabiliriz.<\/p>\n<h5>Ad\u0131m 1: S\u00fcr\u00fcm Kontrol\u00fc<\/h5>\n<p>Terminalinizde a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131rarak Node.js ve npm&#8217;in s\u00fcr\u00fcmlerini kontrol edin:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Her iki komut da s\u00fcr\u00fcm numaralar\u0131n\u0131 ba\u015far\u0131yla d\u00f6nd\u00fcrmelidir.<\/p>\n<h5>Ad\u0131m 2: Basit Bir Node.js Uygulamas\u0131 Olu\u015fturma<\/h5>\n<p>Herhangi bir metin d\u00fczenleyici kullanarak <code>hello.js<\/code> ad\u0131nda yeni bir dosya olu\u015fturun ve i\u00e7ine a\u015fa\u011f\u0131daki kodu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-javascript\">\/\/ hello.js\nconsole.log(\"Merhaba, Node.js!\");\n\nconst http = require('http');\n\nconst hostname = '127.0.0.1';\nconst port = 3000;\n\nconst server = http.createServer((req, res) => {\n  res.statusCode = 200;\n  res.setHeader('Content-Type', 'text\/plain');\n  res.end('Merhaba Dunya!\\n');\n});\n\nserver.listen(port, hostname, () => {\n  console.log(<code>Sunucu http:\/\/${hostname}:${port}\/ adresinde calisiyor.<\/code>);\n});<\/code><\/pre>\n<p>Bu kod, &#8220;Merhaba, Node.js!&#8221; mesaj\u0131n\u0131 konsola yazd\u0131ran ve ard\u0131ndan 3000 numaral\u0131 portta basit bir HTTP sunucusu ba\u015flatan k\u00fc\u00e7\u00fck bir Node.js uygulamas\u0131d\u0131r.<\/p>\n<h5>Ad\u0131m 3: Uygulamay\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h5>\n<p>Terminalinizde, <code>hello.js<\/code> dosyas\u0131n\u0131n bulundu\u011fu dizine gidin ve uygulamay\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">node hello.js<\/code><\/pre>\n<p>Konsolda &#8220;Merhaba, Node.js!&#8221; mesaj\u0131n\u0131 ve ard\u0131ndan &#8220;Sunucu http:\/\/127.0.0.1:3000\/ adresinde calisiyor.&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz. \u015eimdi bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve <code>http:\/\/127.0.0.1:3000<\/code> adresine gidin. &#8220;Merhaba Dunya!&#8221; mesaj\u0131n\u0131 g\u00f6rmeniz gerekir. Bu, Node.js sunucunuzun ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Sunucuyu durdurmak i\u00e7in terminalde <code>Ctrl+C<\/code> tu\u015flar\u0131na basabilirsiniz.<\/p>\n<h3>Node.js ve npm&#8217;i Y\u00f6netme<\/h3>\n<p>Node.js ve npm&#8217;i kurduktan sonra, zaman zaman g\u00fcncellemeniz veya kald\u0131rman\u0131z gerekebilir.<\/p>\n<h4>Node.js&#8217;i G\u00fcncelleme<\/h4>\n<p>*   <strong>Debian Resmi Depolar\u0131 ile:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt update\n    sudo apt upgrade<\/code><\/pre>\n<p>    Bu, kurulu Node.js s\u00fcr\u00fcm\u00fcn\u00fc de g\u00fcncelleyecektir (e\u011fer depoda yeni bir s\u00fcr\u00fcm varsa).<br \/>\n*   <strong>NodeSource Depolar\u0131 ile:<\/strong><br \/>\n    Yeni bir LTS s\u00fcr\u00fcm\u00fcne ge\u00e7mek istiyorsan\u0131z, ilgili <code>setup_X.x<\/code> beti\u011fini tekrar \u00e7al\u0131\u015ft\u0131rman\u0131z ve ard\u0131ndan <code>sudo apt update && sudo apt install nodejs<\/code> komutunu kullanman\u0131z gerekir.<br \/>\n*   <strong>NVM ile:<\/strong><br \/>\n    Yeni bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc kurun: <code>nvm install <yeni_surum><\/code><br \/>\n    Ard\u0131ndan varsay\u0131lan s\u00fcr\u00fcm\u00fc g\u00fcncelleyin: <code>nvm alias default <yeni_surum><\/code><br \/>\n    Eski s\u00fcr\u00fcmleri kald\u0131rabilirsiniz: <code>nvm uninstall <eski_surum><\/code><br \/>\n*   <strong>Manuel Kurulum ile:<\/strong><br \/>\n    Yeni tarball dosyas\u0131n\u0131 indirin, eski kurulumu kald\u0131r\u0131n ve yeni s\u00fcr\u00fcm\u00fc manuel olarak kurun.<\/p>\n<h4>npm&#8217;i G\u00fcncelleme<\/h4>\n<p>npm genellikle Node.js ile birlikte gelir ve Node.js&#8217;i g\u00fcncelledi\u011finizde o da g\u00fcncellenir. Ancak, npm&#8217;i ba\u011f\u0131ms\u0131z olarak da g\u00fcncelleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">npm install -g npm@latest<\/code><\/pre>\n<p><strong>Dikkat:<\/strong> Bu komut, sistem genelinde kurulu npm&#8217;i g\u00fcncelleyebilir ve bazen ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131na yol a\u00e7abilir. Genellikle, Node.js&#8217;i g\u00fcncelleyerek npm&#8217;i g\u00fcncellemek daha g\u00fcvenli bir yakla\u015f\u0131md\u0131r. NVM kullan\u0131yorsan\u0131z, <code>nvm install<\/code> komutu npm&#8217;in do\u011fru s\u00fcr\u00fcm\u00fcn\u00fc Node.js ile birlikte getirir.<\/p>\n<h4>Node.js&#8217;i Kald\u0131rma<\/h4>\n<p>*   <strong>Debian Resmi Depolar\u0131 veya NodeSource Depolar\u0131 ile:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt remove nodejs npm\n    sudo apt autoremove<\/code><\/pre>\n<p>    NodeSource deposunu da kald\u0131rmak isterseniz, <code>\/etc\/apt\/sources.list.d\/nodesource.list<\/code> dosyas\u0131n\u0131 silebilirsiniz.<br \/>\n*   <strong>NVM ile:<\/strong><br \/>\n    \u00d6nce kald\u0131rmak istedi\u011finiz Node.js s\u00fcr\u00fcm\u00fcn\u00fc kald\u0131r\u0131n: <code>nvm uninstall <surum><\/code><br \/>\n    Ard\u0131ndan NVM&#8217;nin kendisini kald\u0131rmak i\u00e7in, <code>.nvm<\/code> dizinini ve kabuk yap\u0131land\u0131rma dosyalar\u0131n\u0131zdaki (\u00f6rne\u011fin <code>.bashrc<\/code>) NVM ile ilgili sat\u0131rlar\u0131 manuel olarak silmeniz gerekir.<br \/>\n*   <strong>Manuel Kurulum ile:<\/strong><br \/>\n    Node.js&#8217;i ta\u015f\u0131d\u0131\u011f\u0131n\u0131z dizini (\u00f6rne\u011fin <code>\/usr\/local\/lib\/nodejs\/node-vX.Y.Z-linux-x64<\/code>) ve olu\u015fturdu\u011funuz sembolik ba\u011flant\u0131lar\u0131 (\u00f6rne\u011fin <code>\/usr\/local\/bin\/node<\/code>) manuel olarak silmeniz gerekir.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>*   <strong><code>node: command not found<\/code> veya <code>npm: command not found<\/code>:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>PATH<\/code> ortam de\u011fi\u015fkeninizin Node.js y\u00fcr\u00fct\u00fclebilir dosyalar\u0131n\u0131 i\u00e7eren dizini i\u00e7erdi\u011finden emin olun. NVM kullan\u0131yorsan\u0131z, <code>source ~\/.bashrc<\/code> (veya ilgili dosya) komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan ve NVM&#8217;nin do\u011fru bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc kulland\u0131\u011f\u0131ndan emin olun (<code>nvm use <version><\/code>).<br \/>\n*   <strong>Global npm paketleri kurarken izin hatas\u0131 (<code>EACCES<\/code>):<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> <code>npm install -g <package><\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131rken izin hatas\u0131 alman\u0131z, npm&#8217;in global paketleri kurmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizine yazma izniniz olmad\u0131\u011f\u0131 anlam\u0131na gelir. <code>sudo<\/code> ile \u00e7al\u0131\u015ft\u0131rmak bir \u00e7\u00f6z\u00fcm olabilir ancak g\u00fcvenlik riskleri ta\u015f\u0131r ve \u00f6nerilmez.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> NVM kullan\u0131yorsan\u0131z, bu sorun genellikle ortaya \u00e7\u0131kmaz \u00e7\u00fcnk\u00fc NVM, Node.js&#8217;i kullan\u0131c\u0131n\u0131n ev dizinine kurar ve izinler do\u011fru ayarlan\u0131r. NVM kullanm\u0131yorsan\u0131z, npm&#8217;in global paketleri kurdu\u011fu dizini de\u011fi\u015ftirerek veya dizinin sahipli\u011fini alarak bu sorunu \u00e7\u00f6zebilirsiniz.<br \/>\n*   <strong>Node.js&#8217;in eski s\u00fcr\u00fcm\u00fc kuruluyor:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> Debian&#8217;\u0131n resmi depolar\u0131n\u0131 kullanarak kurduysan\u0131z, eski bir s\u00fcr\u00fcmle kar\u015f\u0131la\u015fman\u0131z normaldir.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> NodeSource deposunu veya NVM&#8217;yi kullanarak daha g\u00fcncel bir s\u00fcr\u00fcm kurun.<br \/>\n*   <strong>NVM kurulumunda derleme hatalar\u0131:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> <code>nvm install<\/code> komutu s\u0131ras\u0131nda derleme hatalar\u0131 al\u0131yorsan\u0131z, gerekli derleme ara\u00e7lar\u0131 eksik olabilir.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>sudo apt install build-essential libssl-dev<\/code> komutuyla derleme ara\u00e7lar\u0131n\u0131 kurdu\u011funuzdan emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Debian 9 i\u015fletim sistemi \u00fczerine Node.js&#8217;i kurmak i\u00e7in d\u00f6rt farkl\u0131 y\u00f6ntemi detayl\u0131 olarak inceledik: Debian&#8217;\u0131n resmi depolar\u0131, NodeSource depolar\u0131, NVM (Node Version Manager) ve manuel kurulum. Her y\u00f6ntemin kendine \u00f6zg\u00fc avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r:<\/p>\n<p>*   <strong>Debian&#8217;\u0131n Resmi Depolar\u0131:<\/strong> En basit y\u00f6ntemdir, ancak genellikle eski Node.js s\u00fcr\u00fcmlerini sunar. H\u0131zl\u0131 ve temel bir kurulum i\u00e7in uygundur.<br \/>\n*   <strong>NodeSource Depolar\u0131:<\/strong> En g\u00fcncel LTS s\u00fcr\u00fcmlerine eri\u015fim sa\u011flar ve \u00fcretim ortamlar\u0131 i\u00e7in genellikle tercih edilen dengeli bir \u00e7\u00f6z\u00fcmd\u00fcr.<br \/>\n*   <strong>NVM:<\/strong> Birden fazla Node.js s\u00fcr\u00fcm\u00fcn\u00fc y\u00f6netmek isteyen geli\u015ftiriciler i\u00e7in m\u00fckemmel bir ara\u00e7t\u0131r, esneklik ve kontrol sunar.<br \/>\n*   <strong>Manuel Kurulum:<\/strong> Node.js kurulumu \u00fczerinde tam kontrol sa\u011flar ancak en karma\u015f\u0131k y\u00f6ntemdir ve sadece \u00f6zel durumlar i\u00e7in \u00f6nerilir.<\/p>\n<p>Hangi y\u00f6ntemi se\u00e7erseniz se\u00e7in, Node.js&#8217;in do\u011fru bir \u015fekilde kuruldu\u011fundan emin olmak i\u00e7in her zaman s\u00fcr\u00fcm kontrol\u00fcn\u00fc yapmal\u0131 ve basit bir test uygulamas\u0131 \u00e7al\u0131\u015ft\u0131rmal\u0131s\u0131n\u0131z. Node.js&#8217;in g\u00fcc\u00fc ve esnekli\u011fi, modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in size geni\u015f olanaklar sunacakt\u0131r. Art\u0131k Debian 9 sunucunuzda Node.js ile geli\u015ftirmeye ba\u015flayabilir, npm&#8217;in zengin ekosisteminden faydalanabilir ve y\u00fcksek performansl\u0131 uygulamalar\u0131n\u0131z\u0131 hayata ge\u00e7irebilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\nNode.js, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri haline gelmi\u015f, sunucu taraf\u0131nda Ja","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-35998","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\" \/>\n<meta property=\"og:description\" content=\"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi Node.js, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri haline gelmi\u015f, sunucu taraf\u0131nda Ja\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-06T12:40:46+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\",\"datePublished\":\"2025-12-06T12:40:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/\"},\"wordCount\":3291,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/\",\"name\":\"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-06T12:40:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi","og_description":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi Node.js, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri haline gelmi\u015f, sunucu taraf\u0131nda Ja","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-06T12:40:46+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi","datePublished":"2025-12-06T12:40:46+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/"},"wordCount":3291,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/","name":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-06T12:40:46+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-9-uzerine-node-js-kurulumu-kapsamli-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 9 \u00dczerine Node.js Kurulumu Kapsaml\u0131 Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35998"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35998\/revisions"}],"predecessor-version":[{"id":35999,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35998\/revisions\/35999"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}