{"id":32935,"date":"2025-10-27T13:40:57","date_gmt":"2025-10-27T10:40:57","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32935"},"modified":"2025-10-27T13:40:57","modified_gmt":"2025-10-27T10:40:57","slug":"macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/","title":{"rendered":"macOS&#8217;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>macOS&#8217;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz web geli\u015ftirme d\u00fcnyas\u0131nda Node.js, sunucu taraf\u0131 uygulamalardan komut sat\u0131r\u0131 ara\u00e7lar\u0131na kadar geni\u015f bir yelpazede kullan\u0131lan g\u00fc\u00e7l\u00fc ve esnek bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131d\u0131r. JavaScript&#8217;in taray\u0131c\u0131 d\u0131\u015f\u0131nda da \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayarak, geli\u015ftiricilere tam y\u0131\u011f\u0131n (full-stack) JavaScript deneyimi sunar. Bu makale, macOS i\u015fletim sisteminde Node.js&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve verimli bir yerel geli\u015ftirme ortam\u0131n\u0131 nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Amac\u0131m\u0131z, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in kapsaml\u0131 ve anla\u015f\u0131l\u0131r bir rehber sunmakt\u0131r.<\/p>\n<h3>Node.js Neden \u00d6nemli?<\/h3>\n<p>Node.js, Google Chrome&#8217;un V8 JavaScript motoru \u00fczerine in\u015fa edilmi\u015ftir ve olay tabanl\u0131, e\u015fzamans\u0131z (asynchronous) yap\u0131s\u0131yla y\u00fcksek performansl\u0131 ve \u00f6l\u00e7eklenebilir a\u011f uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. RESTful API&#8217;ler, ger\u00e7ek zamanl\u0131 sohbet uygulamalar\u0131, mikro hizmetler ve hatta masa\u00fcst\u00fc uygulamalar\u0131 (Electron ile) gibi bir\u00e7ok farkl\u0131 alanda kullan\u0131lmaktad\u0131r. NPM (Node Package Manager) ad\u0131 verilen devasa bir paket ekosistemine sahip olmas\u0131, geli\u015ftirme s\u00fcrecini h\u0131zland\u0131ran binlerce a\u00e7\u0131k kaynakl\u0131 k\u00fct\u00fcphane ve araca eri\u015fim imkan\u0131 sunar.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce, temel d\u00fczeyde komut sat\u0131r\u0131 (terminal) kullan\u0131m\u0131 bilgisine sahip olman\u0131z ve macOS sisteminizde y\u00f6netici (administrator) haklar\u0131na sahip bir kullan\u0131c\u0131 hesab\u0131n\u0131z\u0131n bulunmas\u0131 gerekmektedir. Ayr\u0131ca, kurulum dosyalar\u0131n\u0131 indirmek ve paketleri y\u00fcklemek i\u00e7in aktif bir internet ba\u011flant\u0131n\u0131z olmal\u0131d\u0131r.<\/p>\n<h3>Komut Sat\u0131r\u0131 Ara\u00e7lar\u0131n\u0131 Kurma<\/h3>\n<p>Node.js ve di\u011fer bir\u00e7ok geli\u015ftirme arac\u0131, macOS&#8217;in temel komut sat\u0131r\u0131 ara\u00e7lar\u0131na ihtiya\u00e7 duyar. Bu ara\u00e7lar, derleyiciler, Git ve di\u011fer UNIX benzeri yard\u0131mc\u0131 programlar\u0131 i\u00e7erir.<\/p>\n<h4>Xcode Komut Sat\u0131r\u0131 Ara\u00e7lar\u0131n\u0131 Y\u00fckleme<\/h4>\n<p>Xcode Command Line Tools, macOS \u00fczerinde yaz\u0131l\u0131m geli\u015ftirme i\u00e7in gerekli temel ara\u00e7lar\u0131 sa\u011flar. Bunlar\u0131 y\u00fcklemek i\u00e7in Terminal uygulamas\u0131n\u0131 a\u00e7\u0131n (Spotlight aramas\u0131 ile &#8220;Terminal&#8221; yazarak bulabilirsiniz) ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">xcode-select --install<\/code><\/pre>\n<p>Bu komut, bir a\u00e7\u0131l\u0131r pencere ile kurulumu onaylaman\u0131z\u0131 isteyecektir. &#8220;Y\u00fckle&#8221; d\u00fc\u011fmesine t\u0131klayarak devam edin ve lisans s\u00f6zle\u015fmesini kabul edin. Kurulumun tamamlanmas\u0131 internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ba\u011fl\u0131 olarak birka\u00e7 dakika s\u00fcrebilir.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra, Git&#8217;in do\u011fru \u015fekilde y\u00fcklendi\u011fini kontrol ederek komut sat\u0131r\u0131 ara\u00e7lar\u0131n\u0131n ba\u015far\u0131l\u0131 bir \u015fekilde kuruldu\u011funu do\u011frulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git --version<\/code><\/pre>\n<p>E\u011fer bir s\u00fcr\u00fcm numaras\u0131 g\u00f6r\u00fcyorsan\u0131z, kurulum ba\u015far\u0131l\u0131 demektir.<\/p>\n<h3>Node.js Kurulum Y\u00f6ntemlerini Se\u00e7me<\/h3>\n<p>Node.js&#8217;i macOS&#8217;e kurman\u0131n birka\u00e7 farkl\u0131 yolu vard\u0131r. Her birinin kendine g\u00f6re avantajlar\u0131 ve dezavantajlar\u0131 bulunur. Bu rehberde en yayg\u0131n ve \u00f6nerilen y\u00f6ntemleri ele alaca\u011f\u0131z:<\/p>\n<p>1.  <strong>Homebrew ile Kurulum:<\/strong> macOS i\u00e7in pop\u00fcler bir paket y\u00f6neticisi olan Homebrew, Node.js ve di\u011fer bir\u00e7ok geli\u015ftirme arac\u0131n\u0131 kolayca kurman\u0131z\u0131 ve g\u00fcncellemenizi sa\u011flar. \u00c7o\u011fu geli\u015ftirici i\u00e7in \u00f6nerilen y\u00f6ntemdir.<br \/>\n2.  <strong>NVM (Node Version Manager) ile Kurulum:<\/strong> \u00d6zellikle birden fazla Node.js projesiyle \u00e7al\u0131\u015fan veya farkl\u0131 Node.js s\u00fcr\u00fcmlerini ayn\u0131 anda y\u00f6netmek isteyen geli\u015ftiriciler i\u00e7in NVM vazge\u00e7ilmez bir ara\u00e7t\u0131r. NVM, farkl\u0131 Node.js s\u00fcr\u00fcmleri aras\u0131nda kolayca ge\u00e7i\u015f yapman\u0131z\u0131 sa\u011flar.<br \/>\n3.  <strong>Resmi Y\u00fckleyici ile Kurulum:<\/strong> Node.js&#8217;in resmi web sitesinden indirilen <code>.pkg<\/code> uzant\u0131l\u0131 y\u00fckleyici, en basit kurulum y\u00f6ntemidir ancak farkl\u0131 Node.js s\u00fcr\u00fcmlerini y\u00f6netme esnekli\u011fi sunmaz.<\/p>\n<p>Bu rehberde, Homebrew ve NVM y\u00f6ntemlerine odaklanaca\u011f\u0131z, \u00e7\u00fcnk\u00fc bunlar geli\u015ftiricilere en fazla esnekli\u011fi sunar.<\/p>\n<h3>Homebrew ile Node.js Kurulumu<\/h3>\n<p>Homebrew, macOS i\u00e7in &#8220;eksik paket y\u00f6neticisi&#8221; olarak bilinir. Komut sat\u0131r\u0131ndan yaz\u0131l\u0131mlar\u0131 y\u00fcklemenizi, g\u00fcncellemenizi ve kald\u0131rman\u0131z\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n<h4>Homebrew Kurulumu<\/h4>\n<p>E\u011fer sisteminizde Homebrew y\u00fckl\u00fc de\u011filse, Terminal&#8217;i a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">\/bin\/bash -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)\"<\/code><\/pre>\n<p>Bu komut, Homebrew kurulum beti\u011fini indirir ve \u00e7al\u0131\u015ft\u0131r\u0131r. Kurulum s\u0131ras\u0131nda sizden y\u00f6netici parolan\u0131z\u0131 girmeniz istenebilir. Kurulumun tamamlanmas\u0131 biraz zaman alabilir.<\/p>\n<p>Kurulum bittikten sonra, Homebrew&#8217;un do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">brew doctor<\/code><\/pre>\n<p>Bu komut, sisteminizdeki olas\u0131 sorunlar\u0131 kontrol eder ve size \u00f6nerilerde bulunur. Genellikle &#8220;Your system is ready to brew.&#8221; mesaj\u0131n\u0131 g\u00f6rmeniz beklenir.<\/p>\n<h4>Homebrew ile Node.js Y\u00fckleme<\/h4>\n<p>Homebrew y\u00fcklendikten sonra, Node.js&#8217;i kurmak \u00e7ok basittir. Terminal&#8217;de a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">brew install node<\/code><\/pre>\n<p>Bu komut, Node.js&#8217;in en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc ve onunla birlikte gelen npm (Node Package Manager) paket y\u00f6neticisini kuracakt\u0131r. Kurulum tamamland\u0131\u011f\u0131nda, Node.js ve npm&#8217;in do\u011fru \u015fekilde kuruldu\u011funu do\u011frulamak i\u00e7in s\u00fcr\u00fcm numaralar\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Beklenen \u00e7\u0131kt\u0131, y\u00fckl\u00fc Node.js ve npm s\u00fcr\u00fcmlerini g\u00f6sterecektir (\u00f6rne\u011fin, <code>v18.12.1<\/code> ve <code>9.2.0<\/code>).<\/p>\n<h4>Node.js&#8217;i Homebrew ile G\u00fcncelleme<\/h4>\n<p>Node.js&#8217;in yeni bir s\u00fcr\u00fcm\u00fc \u00e7\u0131kt\u0131\u011f\u0131nda, Homebrew arac\u0131l\u0131\u011f\u0131yla kolayca g\u00fcncelleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">brew update      # Homebrew'u g\u00fcnceller\nbrew upgrade node # Node.js'i en son s\u00fcr\u00fcme y\u00fckseltir<\/code><\/pre>\n<h3>NVM (Node Version Manager) ile Node.js Kurulumu<\/h3>\n<p>Birden fazla Node.js projesi \u00fczerinde \u00e7al\u0131\u015f\u0131yorsan\u0131z veya farkl\u0131 projelerin farkl\u0131 Node.js s\u00fcr\u00fcmlerine ihtiya\u00e7 duydu\u011funu g\u00f6r\u00fcyorsan\u0131z, NVM (Node Version Manager) sizin i\u00e7in en iyi \u00e7\u00f6z\u00fcmd\u00fcr. NVM, sisteminizde birden fazla Node.js s\u00fcr\u00fcm\u00fcn\u00fc kurman\u0131za, bunlar aras\u0131nda kolayca ge\u00e7i\u015f yapman\u0131za ve her proje i\u00e7in belirli bir s\u00fcr\u00fcm\u00fc ayarlaman\u0131za olanak tan\u0131r.<\/p>\n<h4>NVM Kurulumu<\/h4>\n<p>NVM&#8217;yi do\u011frudan curl komutu ile y\u00fcklemek en yayg\u0131n y\u00f6ntemdir. Terminal&#8217;i a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n (s\u00fcr\u00fcm numaras\u0131n\u0131 en g\u00fcncel olanla de\u011fi\u015ftirebilirsiniz, <code>v0.39.1<\/code> bir \u00f6rnektir):<\/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 betik, NVM&#8217;yi ana dizininizdeki <code>.nvm<\/code> klas\u00f6r\u00fcne kurar ve kabuk yap\u0131land\u0131rma dosyan\u0131za (\u00f6rne\u011fin, <code>.zshrc<\/code> veya <code>.bash_profile<\/code>) gerekli sat\u0131rlar\u0131 ekleyerek NVM&#8217;nin her terminal oturumunda kullan\u0131labilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra, kabuk yap\u0131land\u0131rma dosyan\u0131zdaki de\u011fi\u015fikliklerin etkin olmas\u0131 i\u00e7in terminali kapat\u0131p yeniden a\u00e7man\u0131z veya a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">source ~\/.zshrc   # Zsh kullan\u0131yorsan\u0131z\n<h2>veya<\/h2>\nsource ~\/.bash_profile # Bash kullan\u0131yorsan\u0131z<\/code><\/pre>\n<p>NVM&#8217;nin ba\u015far\u0131l\u0131 bir \u015fekilde kuruldu\u011funu do\u011frulamak i\u00e7in s\u00fcr\u00fcm numaras\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">nvm --version<\/code><\/pre>\n<h4>NVM ile Node.js S\u00fcr\u00fcmlerini Y\u00fckleme<\/h4>\n<p>NVM y\u00fcklendikten sonra, Node.js s\u00fcr\u00fcmlerini y\u00f6netmek \u00e7ok kolayd\u0131r:<\/p>\n<p>*   <strong>En son kararl\u0131 s\u00fcr\u00fcm\u00fc y\u00fckleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">nvm install node<\/code><\/pre>\n<p>*   <strong>Belirli bir LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcm\u00fcn\u00fc y\u00fckleme (\u00f6rne\u011fin, Node.js 18):<\/strong><\/p>\n<pre><code class=\"language-bash\">nvm install 18<\/code><\/pre>\n<p>*   <strong>Tam olarak belirli bir s\u00fcr\u00fcm\u00fc y\u00fckleme (\u00f6rne\u011fin, Node.js 18.12.1):<\/strong><\/p>\n<pre><code class=\"language-bash\">nvm install 18.12.1<\/code><\/pre>\n<p>*   <strong>Y\u00fckl\u00fc Node.js s\u00fcr\u00fcmlerini listeleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">nvm ls<\/code><\/pre>\n<p>    Bu komut, sisteminizde y\u00fckl\u00fc olan t\u00fcm Node.js s\u00fcr\u00fcmlerini g\u00f6sterir ve \u015fu anda aktif olan\u0131 belirtir.<\/p>\n<p>*   <strong>Farkl\u0131 bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc kullanma:<\/strong><\/p>\n<pre><code class=\"language-bash\">nvm use 18<\/code><\/pre>\n<p>    Bu komut, mevcut terminal oturumunuz i\u00e7in Node.js 18 s\u00fcr\u00fcm\u00fcn\u00fc aktif hale getirir.<\/p>\n<p>*   <strong>Varsay\u0131lan Node.js s\u00fcr\u00fcm\u00fcn\u00fc ayarlama:<\/strong><\/p>\n<pre><code class=\"language-bash\">nvm alias default 18<\/code><\/pre>\n<p>    Bu komut, yeni a\u00e7\u0131lan t\u00fcm terminal oturumlar\u0131 i\u00e7in varsay\u0131lan Node.js s\u00fcr\u00fcm\u00fcn\u00fc 18 olarak ayarlar.<\/p>\n<p>*   <strong>Bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc kald\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">nvm uninstall 16<\/code><\/pre>\n<p>NVM ile bir Node.js s\u00fcr\u00fcm\u00fc y\u00fckledi\u011finizde, o s\u00fcr\u00fcmle birlikte gelen npm de otomatik olarak kurulur ve y\u00f6netilir. Herhangi bir Node.js s\u00fcr\u00fcm\u00fcn\u00fc aktif hale getirdikten sonra, <code>node -v<\/code> ve <code>npm -v<\/code> komutlar\u0131yla do\u011fru s\u00fcr\u00fcmlerin kullan\u0131ld\u0131\u011f\u0131n\u0131 do\u011frulayabilirsiniz.<\/p>\n<h3>Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma<\/h3>\n<p>Node.js&#8217;i kurduktan sonra, projelerinizi geli\u015ftirmeye ba\u015flamak i\u00e7in yerel bir ortam olu\u015fturman\u0131z gerekir.<\/p>\n<h4>Proje Klas\u00f6r Yap\u0131s\u0131<\/h4>\n<p>Geli\u015ftirme projelerinizi d\u00fczenli tutmak \u00f6nemlidir. Genellikle t\u00fcm projeleriniz i\u00e7in ana bir klas\u00f6r olu\u015fturmak iyi bir uygulamad\u0131r.<\/p>\n<p>1.  <strong>Proje klas\u00f6r\u00fc olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">mkdir ~\/Development\/NodeProjects\n    cd ~\/Development\/NodeProjects<\/code><\/pre>\n<p>2.  <strong>Yeni bir uygulama klas\u00f6r\u00fc olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">mkdir my-first-node-app\n    cd my-first-node-app<\/code><\/pre>\n<h4>Bir Node.js Projesini Ba\u015flatma<\/h4>\n<p>Her Node.js projesinin kalbinde <code>package.json<\/code> dosyas\u0131 bulunur. Bu dosya, projenin meta verilerini (ad\u0131, s\u00fcr\u00fcm\u00fc, yazar\u0131), ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve \u00e7al\u0131\u015ft\u0131r\u0131labilir komut dosyalar\u0131n\u0131 (scripts) tan\u0131mlar.<\/p>\n<p>1.  <strong><code>package.json<\/code> dosyas\u0131n\u0131 olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">npm init -y<\/code><\/pre>\n<p>    <code>-y<\/code> bayra\u011f\u0131, <code>npm init<\/code> komutunun t\u00fcm sorulara varsay\u0131lan cevaplar vermesini sa\u011flar ve h\u0131zl\u0131ca bir <code>package.json<\/code> dosyas\u0131 olu\u015fturur. Bu dosyay\u0131 daha sonra manuel olarak d\u00fczenleyebilirsiniz.<\/p>\n<p>    Olu\u015fturulan <code>package.json<\/code> dosyas\u0131 \u015f\u00f6yle g\u00f6r\u00fcnecektir:<\/p>\n<pre><code class=\"language-json\">{\n      \"name\": \"my-first-node-app\",\n      \"version\": \"1.0.0\",\n      \"description\": \"\",\n      \"main\": \"index.js\",\n      \"scripts\": {\n        \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n      },\n      \"keywords\": [],\n      \"author\": \"\",\n      \"license\": \"ISC\"\n    }<\/code><\/pre>\n<h4>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme<\/h4>\n<p>Node.js projeleri, genellikle NPM \u00fczerinden y\u00fcklenen \u00fc\u00e7\u00fcnc\u00fc taraf k\u00fct\u00fcphanelere (paketlere) ba\u011f\u0131ml\u0131d\u0131r. \u00d6rne\u011fin, bir web sunucusu olu\u015fturmak i\u00e7in Express.js&#8217;i kullanabilirsiniz.<\/p>\n<p>1.  <strong>Express.js&#8217;i y\u00fckleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">npm install express<\/code><\/pre>\n<p>    Bu komut, Express.js paketini indirir ve projenizin <code>node_modules<\/code> klas\u00f6r\u00fcne yerle\u015ftirir. Ayr\u0131ca, <code>package.json<\/code> dosyan\u0131zdaki <code>dependencies<\/code> (ba\u011f\u0131ml\u0131l\u0131klar) b\u00f6l\u00fcm\u00fcne Express.js&#8217;i ekler ve <code>package-lock.json<\/code> ad\u0131nda bir dosya olu\u015fturur. <code>package-lock.json<\/code>, ba\u011f\u0131ml\u0131l\u0131klar\u0131n tam ve kilitlenmi\u015f s\u00fcr\u00fcmlerini i\u00e7erir ve farkl\u0131 ortamlarda tutarl\u0131 ba\u011f\u0131ml\u0131l\u0131k kurulumlar\u0131 sa\u011flar.<\/p>\n<h4>Basit Bir Node.js Uygulamas\u0131 Olu\u015fturma<\/h4>\n<p>\u015eimdi basit bir Express.js web sunucusu olu\u015ftural\u0131m.<\/p>\n<p>1.  <strong><code>app.js<\/code> (veya <code>index.js<\/code>) dosyas\u0131 olu\u015fturma:<\/strong><\/p>\n<p>    Proje klas\u00f6r\u00fcn\u00fczde <code>app.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\">const express = require('express');\n    const app = express();\n    const port = 3000;\n\n    app.get('\/', (req, res) => {\n      res.send('Merhaba Node.js D\u00fcnyas\u0131!');\n    });\n\n    app.listen(port, () => {\n      console.log(<code>Uygulama http:\/\/localhost:${port} adresinde \u00e7al\u0131\u015f\u0131yor.<\/code>);\n    });<\/code><\/pre>\n<p>    Bu kod, 3000 numaral\u0131 ba\u011flant\u0131 noktas\u0131nda dinleyen basit bir Express sunucusu olu\u015fturur. Ana dizine (<code>\/<\/code>) yap\u0131lan GET isteklerine &#8220;Merhaba Node.js D\u00fcnyas\u0131!&#8221; mesaj\u0131yla yan\u0131t verir.<\/p>\n<h4>Uygulamay\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in Terminal&#8217;de a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">node app.js<\/code><\/pre>\n<p>Terminalde &#8220;Uygulama http:\/\/localhost:3000 adresinde \u00e7al\u0131\u015f\u0131yor.&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz. \u015eimdi web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve <code>http:\/\/localhost:3000<\/code> adresine gidin. &#8220;Merhaba Node.js D\u00fcnyas\u0131!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>Uygulamay\u0131 durdurmak i\u00e7in Terminal&#8217;de <code>Ctrl + C<\/code> tu\u015flar\u0131na bas\u0131n.<\/p>\n<h4>nodemon ile Otomatik Yeniden Ba\u015flatma<\/h4>\n<p>Geli\u015ftirme s\u0131ras\u0131nda kodunuzda yapt\u0131\u011f\u0131n\u0131z her de\u011fi\u015fiklikten sonra uygulamay\u0131 manuel olarak durdurup yeniden ba\u015flatmak yorucu olabilir. <code>nodemon<\/code> paketi, dosya de\u011fi\u015fikliklerini alg\u0131lar ve Node.js uygulaman\u0131z\u0131 otomatik olarak yeniden ba\u015flat\u0131r.<\/p>\n<p>1.  <strong><code>nodemon<\/code>&#8216;u y\u00fckleme:<\/strong><\/p>\n<p>    Geli\u015ftirme ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 olarak y\u00fcklemek en iyi yakla\u015f\u0131md\u0131r:<\/p>\n<pre><code class=\"language-bash\">npm install --save-dev nodemon<\/code><\/pre>\n<p>    Veya global olarak y\u00fckleyebilirsiniz (ancak proje ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 olarak y\u00f6netmek daha iyidir):<\/p>\n<pre><code class=\"language-bash\">npm install -g nodemon<\/code><\/pre>\n<p>2.  <strong><code>package.json<\/code>&#8216;a bir komut dosyas\u0131 ekleme:<\/strong><\/p>\n<p>    <code>package.json<\/code> dosyan\u0131z\u0131 a\u00e7\u0131n ve <code>scripts<\/code> b\u00f6l\u00fcm\u00fcne bir <code>start<\/code> veya <code>dev<\/code> komutu ekleyin:<\/p>\n<pre><code class=\"language-json\">\"scripts\": {\n      \"start\": \"nodemon app.js\",\n      \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n    },<\/code><\/pre>\n<p>3.  <strong>Uygulamay\u0131 <code>nodemon<\/code> ile \u00e7al\u0131\u015ft\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">npm start<\/code><\/pre>\n<p>    Art\u0131k <code>app.js<\/code> dosyas\u0131nda yapt\u0131\u011f\u0131n\u0131z herhangi bir de\u011fi\u015fikli\u011fi kaydetti\u011finizde, <code>nodemon<\/code> uygulamay\u0131 otomatik olarak yeniden ba\u015flatacakt\u0131r.<\/p>\n<h4>Entegre Geli\u015ftirme Ortam\u0131 (IDE) Kullan\u0131m\u0131<\/h4>\n<p>Node.js geli\u015ftirme i\u00e7in bir IDE veya geli\u015fmi\u015f bir metin d\u00fczenleyici kullanmak, verimlili\u011finizi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r. <strong>Visual Studio Code (VS Code)<\/strong>, Node.js geli\u015ftiricileri aras\u0131nda en pop\u00fcler se\u00e7eneklerden biridir.<\/p>\n<p>*   <strong>VS Code&#8217;u y\u00fckleme:<\/strong> VS Code&#8217;u [resmi web sitesinden](https:\/\/code.visualstudio.com\/) indirebilir ve kurabilirsiniz.<br \/>\n*   <strong>\u00d6zellikleri:<\/strong> VS Code, ak\u0131ll\u0131 kod tamamlama (IntelliSense), hata ay\u0131klama ara\u00e7lar\u0131, Git entegrasyonu ve binlerce uzant\u0131 ile Node.js geli\u015ftirme i\u00e7in harika bir ortam sunar.<br \/>\n*   <strong>Projenizi VS Code&#8217;da a\u00e7ma:<\/strong> Terminal&#8217;de proje klas\u00f6r\u00fcn\u00fczdeyken <code>code .<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak (VS Code&#8217;u PATH&#8217;inize eklediyseniz) projeyi VS Code&#8217;da a\u00e7abilirsiniz.<\/p>\n<h3>Temel npm Komutlar\u0131<\/h3>\n<p><code>npm<\/code> (Node Package Manager), Node.js ekosisteminin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r. \u0130\u015fte s\u0131k kullan\u0131lan baz\u0131 <code>npm<\/code> komutlar\u0131:<\/p>\n<p>*   <strong><code>npm install <paket-ad\u0131><\/code>:<\/strong> Bir paketi projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131na ekler ve <code>node_modules<\/code> klas\u00f6r\u00fcne y\u00fckler. <code>package.json<\/code> dosyas\u0131ndaki <code>dependencies<\/code> b\u00f6l\u00fcm\u00fcne ekler.<br \/>\n*   <strong><code>npm install --save-dev <paket-ad\u0131><\/code>:<\/strong> Bir paketi yaln\u0131zca geli\u015ftirme s\u0131ras\u0131nda kullan\u0131lan bir ba\u011f\u0131ml\u0131l\u0131k olarak y\u00fckler (\u00f6rne\u011fin <code>nodemon<\/code>). <code>package.json<\/code> dosyas\u0131ndaki <code>devDependencies<\/code> b\u00f6l\u00fcm\u00fcne ekler.<br \/>\n*   <strong><code>npm uninstall <paket-ad\u0131><\/code>:<\/strong> Bir paketi <code>node_modules<\/code> klas\u00f6r\u00fcnden kald\u0131r\u0131r ve <code>package.json<\/code> dosyas\u0131ndan siler.<br \/>\n*   <strong><code>npm update<\/code>:<\/strong> <code>package.json<\/code> dosyas\u0131nda belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 en son uyumlu s\u00fcr\u00fcmlerine g\u00fcnceller.<br \/>\n*   <strong><code>npm run <komut-ad\u0131><\/code>:<\/strong> <code>package.json<\/code> dosyas\u0131ndaki <code>scripts<\/code> b\u00f6l\u00fcm\u00fcnde tan\u0131mlanm\u0131\u015f \u00f6zel komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r (\u00f6rne\u011fin, <code>npm run start<\/code>).<br \/>\n*   <strong><code>npm audit<\/code>:<\/strong> Projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131ndaki bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 denetler ve d\u00fczeltmeler \u00f6nerir.<br \/>\n*   <strong><code>npm outdated<\/code>:<\/strong> G\u00fcncel olmayan paketleri listeler.<br \/>\n*   <strong><code>npm list --depth=0<\/code>:<\/strong> Y\u00fckl\u00fc olan ana ba\u011f\u0131ml\u0131l\u0131klar\u0131 listeler.<\/p>\n<h3>Yayg\u0131n Sorun Giderme<\/h3>\n<p>Kurulum veya geli\u015ftirme s\u0131ras\u0131nda baz\u0131 sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>PATH Ortam De\u011fi\u015fkeni Sorunlar\u0131<\/h4>\n<p>Bazen terminaliniz <code>node<\/code>, <code>npm<\/code> veya <code>nvm<\/code> komutlar\u0131n\u0131 bulamayabilir. Bu genellikle <code>PATH<\/code> ortam de\u011fi\u015fkeninizin do\u011fru \u015fekilde yap\u0131land\u0131r\u0131lmad\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p>*   <strong>PATH&#8217;i kontrol etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">echo $PATH<\/code><\/pre>\n<p>    Bu komut, terminalinizin y\u00fcr\u00fct\u00fclebilir dosyalar\u0131 arad\u0131\u011f\u0131 dizinleri listeler. Node.js ve npm&#8217;in bulundu\u011fu dizinlerin (\u00f6rne\u011fin <code>\/usr\/local\/bin<\/code> veya NVM&#8217;nin <code>~\/.nvm\/versions\/node\/vX.Y.Z\/bin<\/code> dizinleri) bu listede olmas\u0131 gerekir.<\/p>\n<p>*   <strong>PATH&#8217;i d\u00fczenleme:<\/strong><\/p>\n<p>    NVM kurulumu s\u0131ras\u0131nda bu genellikle otomatik olarak yap\u0131l\u0131r, ancak manuel olarak d\u00fczenlemeniz gerekirse, kabuk yap\u0131land\u0131rma dosyan\u0131z\u0131 (\u00f6rne\u011fin <code>~\/.zshrc<\/code> veya <code>~\/.bash_profile<\/code>) bir metin d\u00fczenleyiciyle a\u00e7\u0131n ve a\u015fa\u011f\u0131daki sat\u0131rlar\u0131n (veya benzerlerinin) mevcut oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">export NVM_DIR=\"$HOME\/.nvm\"\n    [ -s \"$NVM_DIR\/nvm.sh\" ] && \\. \"$NVM_DIR\/nvm.sh\"  # This loads nvm\n    [ -s \"$NVM_DIR\/bash_completion\" ] && \\. \"$NVM_DIR\/bash_completion\"  # This loads nvm bash_completion<\/code><\/pre>\n<p>    De\u011fi\u015fiklikleri kaydettikten sonra, <code>source ~\/.zshrc<\/code> (veya ilgili dosyan\u0131z) komutunu \u00e7al\u0131\u015ft\u0131r\u0131n veya terminali yeniden ba\u015flat\u0131n.<\/p>\n<h4>\u0130zin Hatalar\u0131 (EACCES)<\/h4>\n<p><code>npm install -g<\/code> komutuyla global paketler y\u00fcklemeye \u00e7al\u0131\u015f\u0131rken <code>EACCES<\/code> gibi izin hatalar\u0131 alabilirsiniz. Bu, <code>npm<\/code>&#8216;in global paketleri y\u00fcklemeye \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizine yazma izniniz olmad\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p>*   <strong>\u00c7\u00f6z\u00fcm (NVM kullan\u0131yorsan\u0131z):<\/strong> NVM kullan\u0131yorsan\u0131z, bu sorunla kar\u015f\u0131la\u015fman\u0131z pek olas\u0131 de\u011fildir \u00e7\u00fcnk\u00fc NVM, Node.js ve global paketleri kullan\u0131c\u0131 dizininize y\u00fckler ve y\u00f6netir, bu da izin sorunlar\u0131n\u0131 \u00f6nler.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm (NVM kullanm\u0131yorsan\u0131z):<\/strong> E\u011fer NVM kullanm\u0131yorsan\u0131z ve Homebrew ile kurduysan\u0131z, Homebrew genellikle do\u011fru izinleri ayarlar. Ancak yine de sorun ya\u015f\u0131yorsan\u0131z, <code>sudo<\/code> ile kurulum yapmak (tavsiye edilmez) veya <code>npm<\/code>&#8216;in global paket y\u00fckleme dizinini de\u011fi\u015ftirme gibi \u00e7\u00f6z\u00fcmler vard\u0131r. <code>sudo<\/code> kullan\u0131m\u0131 g\u00fcvenlik riski olu\u015fturabilir ve genellikle ka\u00e7\u0131n\u0131lmal\u0131d\u0131r.<\/p>\n<h4>\u00c7ak\u0131\u015fan Node.js Kurulumlar\u0131<\/h4>\n<p>Sisteminizde farkl\u0131 y\u00f6ntemlerle (\u00f6rne\u011fin, hem resmi y\u00fckleyici hem de Homebrew) birden fazla Node.js kurulumu bulunuyorsa \u00e7ak\u0131\u015fmalar ya\u015fanabilir.<\/p>\n<p>*   <strong>Kontrol etme:<\/strong> <code>which node<\/code> ve <code>which npm<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rarak Node.js ve npm&#8217;in hangi dizinlerden y\u00fcklendi\u011fini kontrol edin.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> \u00c7ak\u0131\u015fmalar\u0131 \u00f6nlemek i\u00e7in gereksiz kurulumlar\u0131 kald\u0131rman\u0131z \u00f6nerilir. \u00d6rne\u011fin, Homebrew ile kurduysan\u0131z, resmi y\u00fckleyici ile yapt\u0131\u011f\u0131n\u0131z kurulumu kald\u0131rmal\u0131s\u0131n\u0131z. NVM kullan\u0131yorsan\u0131z, di\u011fer t\u00fcm kurulumlar\u0131 kald\u0131r\u0131n ve Node.js&#8217;i yaln\u0131zca NVM arac\u0131l\u0131\u011f\u0131yla y\u00f6netin.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, macOS i\u015fletim sisteminde Node.js&#8217;i kurman\u0131n farkl\u0131 yollar\u0131n\u0131 \u00f6\u011frendiniz ve Homebrew ile NVM&#8217;nin avantajlar\u0131n\u0131 ke\u015ffettiniz. Ayr\u0131ca, yerel bir Node.js geli\u015ftirme ortam\u0131n\u0131 nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131, temel <code>npm<\/code> komutlar\u0131n\u0131 ve yayg\u0131n sorunlar\u0131 nas\u0131l giderece\u011finizi \u00f6\u011frendiniz. Art\u0131k Node.js projeleri geli\u015ftirmeye ba\u015flamak i\u00e7in sa\u011flam bir temeliniz var.<\/p>\n<p>Unutmay\u0131n ki geli\u015ftirme ortam\u0131n\u0131z\u0131 g\u00fcncel tutmak ve en iyi uygulamalar\u0131 takip etmek \u00f6nemlidir. Node.js ekosistemi s\u00fcrekli geli\u015fti\u011fi i\u00e7in yeni ara\u00e7lar\u0131 ve k\u00fct\u00fcphaneleri ke\u015ffetmeye devam edin. Bu rehber, Node.js yolculu\u011funuzda size iyi bir ba\u015flang\u0131\u00e7 noktas\u0131 sunmu\u015ftur. \u015eimdi, \u00f6\u011frendiklerinizi kullanarak kendi uygulamalar\u0131n\u0131z\u0131 geli\u015ftirmeye ba\u015flayabilir ve Node.js&#8217;in sundu\u011fu s\u0131n\u0131rs\u0131z olanaklar\u0131 ke\u015ffedebilirsiniz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"macOS&#8217;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi\nG\u00fcn\u00fcm\u00fcz web geli\u015ftirme d\u00fcnyas\u0131nda Node.js, sunucu taraf\u0131 uygulamalar","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":[136],"tags":[],"class_list":{"0":"post-32935","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-node-js","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>macOS&#039;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma 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\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"macOS&#039;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi\" \/>\n<meta property=\"og:description\" content=\"macOS&#039;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi G\u00fcn\u00fcm\u00fcz web geli\u015ftirme d\u00fcnyas\u0131nda Node.js, sunucu taraf\u0131 uygulamalar\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-27T10:40:57+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=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"macOS&#8217;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi\",\"datePublished\":\"2025-10-27T10:40:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/\"},\"wordCount\":2651,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Node.js\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/\",\"name\":\"macOS'te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-27T10:40:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"macOS&#8217;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma 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":"macOS'te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma 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\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"macOS'te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi","og_description":"macOS'te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi G\u00fcn\u00fcm\u00fcz web geli\u015ftirme d\u00fcnyas\u0131nda Node.js, sunucu taraf\u0131 uygulamalar","og_url":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-27T10:40:57+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"macOS&#8217;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi","datePublished":"2025-10-27T10:40:57+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/"},"wordCount":2651,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Node.js"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/","name":"macOS'te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-27T10:40:57+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/macoste-node-js-kurulumu-ve-yerel-gelistirme-ortami-olusturma-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"macOS&#8217;te Node.js Kurulumu ve Yerel Geli\u015ftirme Ortam\u0131 Olu\u015fturma 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\/32935","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=32935"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32935\/revisions"}],"predecessor-version":[{"id":32936,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32935\/revisions\/32936"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}