{"id":35211,"date":"2025-11-27T01:40:53","date_gmt":"2025-11-26T22:40:53","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35211"},"modified":"2025-11-27T01:40:53","modified_gmt":"2025-11-26T22:40:53","slug":"ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/","title":{"rendered":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber<\/h2>\n<h3>Giri\u015f: Ruby on Rails, RVM ve Ubuntu 16.04<\/h3>\n<p>Ruby on Rails (Rails), web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan, a\u00e7\u0131k kaynakl\u0131, sunucu taraf\u0131 bir web uygulama \u00e7er\u00e7evesidir. Ruby programlama dili ile yaz\u0131lm\u0131\u015f olup, &#8220;convention over configuration&#8221; (yap\u0131land\u0131rma yerine kural) ve &#8220;don&#8217;t repeat yourself&#8221; (kendini tekrar etme) prensiplerini benimser. Bu prensipler, geli\u015ftiricilerin h\u0131zl\u0131 bir \u015fekilde web uygulamalar\u0131 olu\u015fturmas\u0131n\u0131 ve daha az kod yazarak daha \u00e7ok i\u015f yapmas\u0131n\u0131 sa\u011flar. Rails, Model-View-Controller (MVC) mimarisini kullan\u0131r ve veritaban\u0131 entegrasyonu, web servisleri, ve bir dizi kullan\u0131\u015fl\u0131 \u00f6zellik ile birlikte gelir. \u00d6zellikle prototipleme ve h\u0131zl\u0131 uygulama geli\u015ftirmede olduk\u00e7a pop\u00fclerdir.<\/p>\n<p>RVM (Ruby Version Manager), ayn\u0131 sistem \u00fczerinde birden fazla Ruby s\u00fcr\u00fcm\u00fcn\u00fc kolayca kurman\u0131za, y\u00f6netmenize ve aralar\u0131nda ge\u00e7i\u015f yapman\u0131za olanak tan\u0131yan bir komut sat\u0131r\u0131 arac\u0131d\u0131r. Geli\u015ftiricilerin farkl\u0131 projeler i\u00e7in farkl\u0131 Ruby veya Rails s\u00fcr\u00fcmlerine ihtiya\u00e7 duymas\u0131 yayg\u0131n bir durumdur. RVM, bu senaryoda b\u00fcy\u00fck bir kolayl\u0131k sa\u011flar ve sistem genelindeki Ruby kurulumunu bozmadan izole geli\u015ftirme ortamlar\u0131 olu\u015fturman\u0131za yard\u0131mc\u0131 olur. Her projenin kendi Ruby ve gemset (kurulu gem&#8217;lerin koleksiyonu) s\u00fcr\u00fcm\u00fcne sahip olmas\u0131n\u0131 sa\u011flayarak ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler.<\/p>\n<p>Ubuntu 16.04 LTS (Xenial Xerus), Nisan 2016&#8217;da piyasaya s\u00fcr\u00fclen ve uzun s\u00fcreli destek (Long Term Support) sa\u011flayan pop\u00fcler bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Kararl\u0131l\u0131\u011f\u0131 ve geni\u015f yaz\u0131l\u0131m deposu ile bilinir. Bu rehber, Ubuntu 16.04&#8217;\u00fc hedef alsa da, ad\u0131mlar\u0131n \u00e7o\u011fu daha yeni Ubuntu s\u00fcr\u00fcmlerinde de benzer \u015fekilde uygulanabilir. Ancak, sistemin ya\u015f\u0131na ba\u011fl\u0131 olarak baz\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131n veya \u00f6nerilen Ruby\/Rails s\u00fcr\u00fcmlerinin farkl\u0131l\u0131k g\u00f6sterebilece\u011fini unutmamak \u00f6nemlidir. Bu makale, \u00f6zellikle Ubuntu 16.04 kullan\u0131c\u0131lar\u0131 i\u00e7in kapsaml\u0131 ve ad\u0131m ad\u0131m bir kurulum s\u00fcreci sunmay\u0131 ama\u00e7lamaktad\u0131r.<\/p>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 16.04 i\u015fletim sistemi \u00fczerine RVM kullanarak Ruby&#8217;yi ve ard\u0131ndan Ruby on Rails \u00e7er\u00e7evesini nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde \u00f6\u011freneceksiniz. Ayr\u0131ca, modern Rails uygulamalar\u0131 i\u00e7in gerekli olan Node.js ve bir veritaban\u0131 (PostgreSQL) kurulumunu da ele alaca\u011f\u0131z. Amac\u0131m\u0131z, ba\u015far\u0131l\u0131 bir geli\u015ftirme ortam\u0131 kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri ve komutlar\u0131 sa\u011flamakt\u0131r.<\/p>\n<h3>\u00d6n Haz\u0131rl\u0131klar: Sisteminizi G\u00fcncelleme ve Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Kurma<\/h3>\n<p>Ruby on Rails ve RVM kurulumuna ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan ve gerekli temel yaz\u0131l\u0131m ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n kurulu oldu\u011fundan emin olmal\u0131y\u0131z. Bu ad\u0131mlar, olas\u0131 hatalar\u0131 \u00f6nlemek ve sorunsuz bir kurulum s\u00fcreci sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4>Sistem Paketlerini G\u00fcncelleme<\/h4>\n<p>\u0130lk olarak, Ubuntu paket listenizi g\u00fcncellemeli ve y\u00fckl\u00fc paketlerinizi en son s\u00fcr\u00fcmlerine y\u00fckseltmelisiniz. Bu i\u015flem, g\u00fcvenlik g\u00fcncellemelerini alman\u0131z\u0131 ve en yeni yaz\u0131l\u0131m s\u00fcr\u00fcmlerine eri\u015fmenizi sa\u011flar. Terminali a\u00e7\u0131n (Ctrl+Alt+T) ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get upgrade -y<\/code><\/pre>\n<p><code>sudo apt-get update<\/code> komutu, yerel paket indeksinizi g\u00fcncellerken, <code>sudo apt-get upgrade -y<\/code> komutu, kurulu t\u00fcm paketleri onay gerektirmeden (<code>-y<\/code> bayra\u011f\u0131 sayesinde) en son s\u00fcr\u00fcmlerine y\u00fckseltir. Bu i\u015flem biraz zaman alabilir.<\/p>\n<h4>Gerekli Geli\u015ftirme Ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 Kurma<\/h4>\n<p>RVM ve Ruby&#8217;nin do\u011fru bir \u015fekilde derlenebilmesi ve \u00e7al\u0131\u015fabilmesi i\u00e7in \u00e7e\u015fitli geli\u015ftirme ara\u00e7lar\u0131na ve k\u00fct\u00fcphanelerine ihtiya\u00e7 duyulur. Bu ba\u011f\u0131ml\u0131l\u0131klar aras\u0131nda derleyiciler, k\u00fct\u00fcphane ba\u015fl\u0131k dosyalar\u0131 ve s\u0131k\u0131\u015ft\u0131rma ara\u00e7lar\u0131 bulunur. A\u015fa\u011f\u0131daki komut, bu temel ba\u011f\u0131ml\u0131l\u0131klar\u0131n \u00e7o\u011funu kuracakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev<\/code><\/pre>\n<p>Bu komutta yer alan \u00f6nemli paketler \u015funlard\u0131r:<br \/>\n*   <code>git-core<\/code>: Git s\u00fcr\u00fcm kontrol sistemi. Ruby on Rails projeleri genellikle Git ile y\u00f6netilir.<br \/>\n*   <code>curl<\/code>: URL s\u00f6zdizimi kullanan dosyalar\u0131 ve verileri aktarmak i\u00e7in bir komut sat\u0131r\u0131 arac\u0131d\u0131r. RVM kurulumu i\u00e7in gereklidir.<br \/>\n*   <code>zlib1g-dev<\/code>: Zlib s\u0131k\u0131\u015ft\u0131rma k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131.<br \/>\n*   <code>build-essential<\/code>: GNU derleyici koleksiyonu (GCC) ve di\u011fer temel geli\u015ftirme ara\u00e7lar\u0131n\u0131 i\u00e7erir. Ruby&#8217;nin kaynak koddan derlenmesi i\u00e7in hayati \u00f6neme sahiptir.<br \/>\n*   <code>libssl-dev<\/code>: OpenSSL k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131. G\u00fcvenli ileti\u015fim (HTTPS) i\u00e7in gereklidir.<br \/>\n*   <code>libreadline-dev<\/code>: GNU Readline k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131. Ruby etkile\u015fimli kabu\u011fu (IRB) gibi ara\u00e7lar i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>libyaml-dev<\/code>: YAML ayr\u0131\u015ft\u0131rma k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131.<br \/>\n*   <code>libsqlite3-dev<\/code> ve <code>sqlite3<\/code>: SQLite veritaban\u0131n\u0131n geli\u015ftirme dosyalar\u0131 ve komut sat\u0131r\u0131 arac\u0131. Rails varsay\u0131lan olarak SQLite kullan\u0131r.<br \/>\n*   <code>libxml2-dev<\/code> ve <code>libxslt1-dev<\/code>: XML ve XSLT i\u015fleme k\u00fct\u00fcphanelerinin geli\u015ftirme dosyalar\u0131. Baz\u0131 gem&#8217;ler (\u00f6rne\u011fin Nokogiri) bunlar\u0131 gerektirir.<br \/>\n*   <code>libcurl4-openssl-dev<\/code>: cURL k\u00fct\u00fcphanesinin OpenSSL destekli geli\u015ftirme dosyalar\u0131.<br \/>\n*   <code>python-software-properties<\/code>: Geli\u015ftiricilerin PPA (Personal Package Archive) depolar\u0131n\u0131 kolayca eklemesine olanak tan\u0131r. Node.js kurulumu i\u00e7in faydal\u0131 olabilir.<br \/>\n*   <code>libffi-dev<\/code>: Foreign Function Interface k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131. Baz\u0131 gem&#8217;ler i\u00e7in gereklidir.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra sisteminiz, RVM ve Ruby kurulumu i\u00e7in gerekli t\u00fcm temel bile\u015fenlere sahip olacakt\u0131r.<\/p>\n<h3>RVM Kurulumu: Ruby S\u00fcr\u00fcmlerini Y\u00f6netmek \u0130\u00e7in Anahtar<\/h3>\n<p>RVM, ayn\u0131 makinede birden fazla Ruby s\u00fcr\u00fcm\u00fcn\u00fc ve her Ruby s\u00fcr\u00fcm\u00fc i\u00e7in ayr\u0131 gemset&#8217;leri y\u00f6netmenizi sa\u011flayan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu, farkl\u0131 projeler i\u00e7in farkl\u0131 Ruby veya Rails s\u00fcr\u00fcmlerine ihtiya\u00e7 duyan geli\u015ftiriciler i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<h4>RVM Nedir ve Neden Kullan\u0131l\u0131r?<\/h4>\n<p>RVM, Ruby geli\u015ftirme ortam\u0131n\u0131z\u0131 izole etmenizi ve farkl\u0131 Ruby projeleri aras\u0131nda kolayca ge\u00e7i\u015f yapman\u0131z\u0131 sa\u011flar. \u00d6rne\u011fin, bir projeniz Ruby 2.3.x ile \u00e7al\u0131\u015f\u0131rken, ba\u015fka bir projeniz Ruby 2.7.x gerektirebilir. RVM olmadan bu t\u00fcr senaryolar\u0131 y\u00f6netmek olduk\u00e7a zorlu ve hata e\u011filimli olabilir. RVM, her Ruby s\u00fcr\u00fcm\u00fc i\u00e7in ayr\u0131 bir &#8220;gemset&#8221; (kurulu gem&#8217;lerin koleksiyonu) olu\u015fturarak, gem ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 da \u00f6nler. Bu, sistem genelindeki Ruby kurulumunu kirletmeden temiz ve y\u00f6netilebilir bir geli\u015ftirme ortam\u0131 sa\u011flar.<\/p>\n<h4>RVM GPG Anahtar\u0131n\u0131 Ekleme<\/h4>\n<p>RVM&#8217;i kurmadan \u00f6nce, RVM y\u00fckleyicisinin g\u00fcvenli\u011fini do\u011frulamak i\u00e7in GPG anahtar\u0131n\u0131 sisteminize eklemeniz gerekir. Bu, indirdi\u011finiz paketin ger\u00e7ekten RVM ekibi taraf\u0131ndan sa\u011fland\u0131\u011f\u0131ndan emin olman\u0131z\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">gpg --keyserver hkp:\/\/keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB<\/code><\/pre>\n<p>Bu komut, RVM&#8217;in GPG anahtar\u0131n\u0131 GPG anahtar sunucusundan al\u0131r ve yerel GPG anahtar halkas\u0131na ekler.<\/p>\n<h4>RVM&#8217;i \u0130ndirme ve Kurma<\/h4>\n<p>GPG anahtar\u0131n\u0131 ekledikten sonra, RVM kurulum komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz. Resmi RVM web sitesinden (https:\/\/rvm.io\/) gelen kurulum beti\u011fini <code>curl<\/code> ile indirip do\u011frudan <code>bash<\/code> ile \u00e7al\u0131\u015ft\u0131raca\u011f\u0131z. Bu, RVM&#8217;in en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc kuracakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">\\curl -sSL https:\/\/get.rvm.io | bash -s stable --autolibs=enable<\/code><\/pre>\n<p>Bu komutta:<br \/>\n*   <code>\\curl -sSL https:\/\/get.rvm.io<\/code>: RVM kurulum beti\u011fini sessizce (<code>-s<\/code>), konum y\u00f6nlendirmelerini takip ederek (<code>-L<\/code>) ve g\u00fcvenli bir \u015fekilde (<code>-S<\/code>) indirir.<br \/>\n*   <code>| bash -s stable<\/code>: \u0130ndirilen beti\u011fi <code>bash<\/code> ile \u00e7al\u0131\u015ft\u0131r\u0131r ve RVM&#8217;in kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc kurmas\u0131n\u0131 s\u00f6yler.<br \/>\n*   <code>--autolibs=enable<\/code>: RVM&#8217;in Ruby&#8217;yi derlemek i\u00e7in gerekli olabilecek ek sistem k\u00fct\u00fcphanelerini otomatik olarak kurmaya \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu, kurulum s\u00fcrecini basitle\u015ftirir.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra, RVM&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi i\u00e7in terminal oturumunuzu yeniden y\u00fcklemeniz veya kapat\u0131p a\u00e7man\u0131z gerekebilir. Terminali kapat\u0131p a\u00e7mak en garantili yoldur. Alternatif olarak, a\u015fa\u011f\u0131daki komutla RVM ortam de\u011fi\u015fkenlerini mevcut oturumunuza y\u00fckleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">source ~\/.rvm\/scripts\/rvm<\/code><\/pre>\n<p>Bu komutu, her yeni terminal oturumu a\u00e7t\u0131\u011f\u0131n\u0131zda \u00e7al\u0131\u015ft\u0131rman\u0131z gerekmez; RVM kurulum beti\u011fi genellikle bu sat\u0131r\u0131 <code>.bashrc<\/code> veya <code>.profile<\/code> dosyan\u0131za ekler. Ancak, ilk kurulumdan hemen sonra <code>source<\/code> etmek, RVM&#8217;i hemen kullanabilmenizi sa\u011flar.<\/p>\n<h4>RVM Kurulumunu Do\u011frulama<\/h4>\n<p>RVM&#8217;in do\u011fru bir \u015fekilde y\u00fcklendi\u011fini ve eri\u015filebilir oldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">rvm -v<\/code><\/pre>\n<p>Bu komut, kurulu RVM s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir. E\u011fer bir hata al\u0131rsan\u0131z, <code>source ~\/.rvm\/scripts\/rvm<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmay\u0131 veya terminali yeniden ba\u015flatmay\u0131 deneyin.<\/p>\n<p>Ayr\u0131ca, RVM&#8217;in sisteminizdeki path&#8217;e do\u011fru bir \u015fekilde eklendi\u011finden emin olmak i\u00e7in <code>type rvm | head -1<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz. Bu komut <code>rvm is a function<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 vermelidir.<\/p>\n<h3>Ruby Kurulumu (RVM ile): Se\u00e7ti\u011finiz Ruby S\u00fcr\u00fcm\u00fcn\u00fc Y\u00fckleme<\/h3>\n<p>RVM kurulduktan sonra, art\u0131k istedi\u011finiz Ruby s\u00fcr\u00fcm\u00fcn\u00fc kolayca kurabilir ve y\u00f6netebilirsiniz. Ubuntu 16.04 i\u00e7in genellikle Ruby 2.3.x veya 2.4.x gibi s\u00fcr\u00fcmler yayg\u0131n olarak kullan\u0131l\u0131rd\u0131, ancak RVM sayesinde daha yeni s\u00fcr\u00fcmleri de kurabilirsiniz. Rails uygulamalar\u0131 genellikle belirli bir Ruby s\u00fcr\u00fcm\u00fcn\u00fc gerektirdi\u011finden, projenizin gereksinimlerine uygun bir s\u00fcr\u00fcm se\u00e7mek \u00f6nemlidir.<\/p>\n<h4>Kullan\u0131labilir Ruby S\u00fcr\u00fcmlerini Listeleme<\/h4>\n<p>RVM&#8217;in kurabilece\u011fi t\u00fcm Ruby s\u00fcr\u00fcmlerini g\u00f6rmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">rvm list known<\/code><\/pre>\n<p>Bu komut, \u00e7e\u015fitli Ruby s\u00fcr\u00fcmlerinin (MRI, JRuby, Rubinius vb.) ve bunlar\u0131n alt s\u00fcr\u00fcmlerinin uzun bir listesini d\u00f6nd\u00fcrecektir. Bu listeden kurmak istedi\u011finiz Ruby s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7ebilirsiniz. \u00d6rne\u011fin, <code>ruby-2.4.10<\/code> veya <code>ruby-2.3.8<\/code> gibi s\u00fcr\u00fcmler g\u00f6rebilirsiniz.<\/p>\n<h4>Belirli Bir Ruby S\u00fcr\u00fcm\u00fcn\u00fc Kurma<\/h4>\n<p>Bu rehberde, \u00f6rnek olarak <code>ruby-2.4.10<\/code> s\u00fcr\u00fcm\u00fcn\u00fc kuraca\u011f\u0131z. Siz kendi projenizin gerektirdi\u011fi veya tercih etti\u011finiz ba\u015fka bir s\u00fcr\u00fcm\u00fc se\u00e7ebilirsiniz.<\/p>\n<pre><code class=\"language-bash\">rvm install ruby-2.4.10<\/code><\/pre>\n<p>Bu komut, se\u00e7ti\u011finiz Ruby s\u00fcr\u00fcm\u00fcn\u00fc indirir, derler ve RVM ortam\u0131n\u0131za kurar. Bu i\u015flem, sisteminizin performans\u0131na ve internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir. RVM, Ruby&#8217;yi derlerken gerekli olan ek sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 otomatik olarak kurmaya \u00e7al\u0131\u015facakt\u0131r (e\u011fer <code>--autolibs=enable<\/code> ile RVM&#8217;i kurduysan\u0131z).<\/p>\n<h4>Varsay\u0131lan Ruby S\u00fcr\u00fcm\u00fcn\u00fc Ayarlama<\/h4>\n<p>Birden fazla Ruby s\u00fcr\u00fcm\u00fc kurduysan\u0131z, RVM&#8217;e hangi s\u00fcr\u00fcm\u00fcn varsay\u0131lan olarak kullan\u0131laca\u011f\u0131n\u0131 s\u00f6ylemeniz gerekir. Bu, yeni bir terminal oturumu a\u00e7t\u0131\u011f\u0131n\u0131zda otomatik olarak etkinle\u015ftirilecek s\u00fcr\u00fcmd\u00fcr.<\/p>\n<pre><code class=\"language-bash\">rvm use ruby-2.4.10 --default<\/code><\/pre>\n<p>Bu komut, <code>ruby-2.4.10<\/code> s\u00fcr\u00fcm\u00fcn\u00fc mevcut terminal oturumunuz i\u00e7in etkinle\u015ftirir ve ayn\u0131 zamanda bu s\u00fcr\u00fcm\u00fc gelecekteki t\u00fcm yeni terminal oturumlar\u0131 i\u00e7in varsay\u0131lan olarak ayarlar.<\/p>\n<p>E\u011fer sadece mevcut oturum i\u00e7in kullanmak isterseniz <code>--default<\/code> bayra\u011f\u0131n\u0131 kullanmadan <code>rvm use ruby-2.4.10<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h4>Ruby Kurulumunu Do\u011frulama<\/h4>\n<p>Ruby&#8217;nin do\u011fru bir \u015fekilde kuruldu\u011funu ve etkinle\u015ftirildi\u011fini do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">ruby -v\ngem -v<\/code><\/pre>\n<p><code>ruby -v<\/code> komutu, kurulu Ruby s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin <code>ruby 2.4.10p0 (2020-09-08 revision 75783) [x86_64-linux]<\/code>) g\u00f6stermelidir. <code>gem -v<\/code> komutu ise RubyGems&#8217;in s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6sterecektir. RubyGems, Ruby k\u00fct\u00fcphaneleri (gem&#8217;ler) i\u00e7in standart bir paket y\u00f6neticisidir.<\/p>\n<h4>Gemset Olu\u015fturma (\u0130ste\u011fe Ba\u011fl\u0131 ama \u0130yi Pratik)<\/h4>\n<p>RVM, her Ruby s\u00fcr\u00fcm\u00fc i\u00e7in ayr\u0131 gemset&#8217;ler olu\u015fturman\u0131za olanak tan\u0131r. Bir gemset, belirli bir Ruby s\u00fcr\u00fcm\u00fc alt\u0131nda kurulu gem&#8217;lerin izole bir koleksiyonudur. Bu, farkl\u0131 projelerin farkl\u0131 gem ba\u011f\u0131ml\u0131l\u0131klar\u0131na sahip olabilece\u011fi durumlarda \u00e7ok faydal\u0131d\u0131r. \u00d6rne\u011fin, bir projeniz Rails 5.2.x kullan\u0131rken, ba\u015fka bir projeniz Rails 6.0.x kullanabilir. Her ikisinin de farkl\u0131 gem s\u00fcr\u00fcmlerine ihtiyac\u0131 olabilir.<\/p>\n<p>Yeni bir proje i\u00e7in bir gemset olu\u015fturmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">rvm gemset create my_rails_app\nrvm use ruby-2.4.10@my_rails_app --default<\/code><\/pre>\n<p>Bu komutlar <code>my_rails_app<\/code> ad\u0131nda bir gemset olu\u015fturur ve <code>ruby-2.4.10<\/code> s\u00fcr\u00fcm\u00fc alt\u0131nda bu gemset&#8217;i varsay\u0131lan olarak ayarlar. Art\u0131k bu gemset i\u00e7inde kurdu\u011funuz t\u00fcm gem&#8217;ler, di\u011fer gemset&#8217;lerden izole olacakt\u0131r. Bu ad\u0131m\u0131 atlay\u0131p do\u011frudan varsay\u0131lan gemset&#8217;e de kurabilirsiniz, ancak profesyonel geli\u015ftirme i\u00e7in gemset kullan\u0131m\u0131 \u015fiddetle tavsiye edilir.<\/p>\n<h3>Rails Kurulumu: Web Uygulama \u00c7er\u00e7evesini Y\u00fckleme<\/h3>\n<p>Ruby ve RVM kurulumunu tamamlad\u0131\u011f\u0131m\u0131za g\u00f6re, art\u0131k Ruby on Rails \u00e7er\u00e7evesini kurmaya haz\u0131r\u0131z. Rails, RubyGems arac\u0131l\u0131\u011f\u0131yla bir gem olarak da\u011f\u0131t\u0131l\u0131r.<\/p>\n<h4>Rails Gem&#8217;ini Kurma<\/h4>\n<p>Rails&#8217;i kurmak i\u00e7in <code>gem install<\/code> komutunu kullanaca\u011f\u0131z. Genellikle, belirli bir Rails s\u00fcr\u00fcm\u00fcn\u00fc kurmak iyi bir pratiktir, \u00e7\u00fcnk\u00fc projeler genellikle belirli bir Rails s\u00fcr\u00fcm\u00fcne ba\u011f\u0131ml\u0131d\u0131r. Bu rehber i\u00e7in, Ubuntu 16.04 ile uyumlu olabilecek, \u00f6rne\u011fin Rails 5.2.x gibi bir s\u00fcr\u00fcm\u00fc kuraca\u011f\u0131z. En son kararl\u0131 s\u00fcr\u00fcm\u00fc kurmak isterseniz, s\u00fcr\u00fcm numaras\u0131n\u0131 belirtmeyebilirsiniz, ancak bu eski i\u015fletim sistemlerinde bazen ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<pre><code class=\"language-bash\">gem install rails -v 5.2.8<\/code><\/pre>\n<p>Bu komut, Rails&#8217;in 5.2.8 s\u00fcr\u00fcm\u00fcn\u00fc ve onun t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kuracakt\u0131r. Kurulum biraz zaman alabilir, \u00e7\u00fcnk\u00fc Rails bir\u00e7ok ba\u015fka gem&#8217;e ba\u011f\u0131ml\u0131d\u0131r ve bunlar\u0131n hepsi indirilir ve kurulur.<\/p>\n<p>E\u011fer en son kararl\u0131 Rails s\u00fcr\u00fcm\u00fcn\u00fc kurmak isterseniz (dikkatli olun, bu 16.04 i\u00e7in \u00e7ok yeni olabilir ve ek ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131 yaratabilir):<\/p>\n<pre><code class=\"language-bash\">gem install rails<\/code><\/pre>\n<p>Kurulum s\u0131ras\u0131nda <code>nokogiri<\/code> gibi baz\u0131 gem&#8217;ler derleme gerektirebilir ve bu noktada <code>libxml2-dev<\/code> ve <code>libxslt1-dev<\/code> gibi daha \u00f6nce kurdu\u011fumuz geli\u015ftirme k\u00fct\u00fcphaneleri i\u015fe yarar. E\u011fer bu ad\u0131mda herhangi bir derleme hatas\u0131 al\u0131rsan\u0131z, &#8220;\u00d6n Haz\u0131rl\u0131klar&#8221; b\u00f6l\u00fcm\u00fcndeki t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n do\u011fru bir \u015fekilde kurulu oldu\u011fundan emin olun.<\/p>\n<h4>Rails Kurulumunu Do\u011frulama<\/h4>\n<p>Rails&#8217;in do\u011fru bir \u015fekilde kuruldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">rails -v<\/code><\/pre>\n<p>Bu komut, kurulu Rails s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin <code>Rails 5.2.8<\/code>) g\u00f6stermelidir. E\u011fer bu komut bir hata verirse, Rails&#8217;in PATH&#8217;inizde olmad\u0131\u011f\u0131ndan veya kurulumun ba\u015far\u0131s\u0131z oldu\u011fundan emin olmak i\u00e7in RVM ortam\u0131n\u0131z\u0131 kontrol edin (<code>rvm use ruby-2.4.10@my_rails_app<\/code> veya uygun gemset&#8217;inizi tekrar etkinle\u015ftirin).<\/p>\n<h3>Node.js Kurulumu: Rails Uygulamalar\u0131 \u0130\u00e7in Gerekli Bir Bile\u015fen<\/h3>\n<p>Modern Ruby on Rails uygulamalar\u0131, JavaScript varl\u0131klar\u0131n\u0131 derlemek ve y\u00f6netmek i\u00e7in genellikle Node.js ve npm (Node Package Manager) kullan\u0131r. Bu, \u00f6zellikle Webpacker, Stimulus, React, Vue.js gibi frontend ara\u00e7lar\u0131 ve k\u00fct\u00fcphaneleri ile \u00e7al\u0131\u015f\u0131rken gereklidir. Ubuntu 16.04 depolar\u0131ndaki Node.js s\u00fcr\u00fcm\u00fc genellikle eski oldu\u011fundan, NodeSource&#8217;un resmi deposunu kullanmak daha g\u00fcncel bir s\u00fcr\u00fcm elde etmenin en iyi yoludur.<\/p>\n<h4>Node.js Nedir ve Neden Gerekli?<\/h4>\n<p>Node.js, sunucu taraf\u0131nda JavaScript \u00e7al\u0131\u015ft\u0131rmak i\u00e7in bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131d\u0131r. Rails uygulamalar\u0131, frontend varl\u0131klar\u0131n\u0131 (CSS, JavaScript) s\u0131k\u0131\u015ft\u0131rmak, birle\u015ftirmek ve derlemek i\u00e7in genellikle Node.js tabanl\u0131 ara\u00e7lar (\u00f6rne\u011fin Webpacker) kullan\u0131r. npm ise Node.js paket y\u00f6neticisidir ve binlerce JavaScript k\u00fct\u00fcphanesini y\u00f6netmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>NodeSource Deposunu Ekleme<\/h4>\n<p>NodeSource, Node.js&#8217;nin g\u00fcncel s\u00fcr\u00fcmlerini Ubuntu gibi da\u011f\u0131t\u0131mlar i\u00e7in sa\u011flayan resmi bir kaynakt\u0131r. Node.js&#8217;nin belirli bir s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin Node.js 10.x LTS veya 12.x LTS) kurmak i\u00e7in NodeSource beti\u011fini kullanaca\u011f\u0131z. Ubuntu 16.04 i\u00e7in Node.js 10.x veya 12.x LTS s\u00fcr\u00fcmleri daha uygun olabilir. Bu \u00f6rnekte Node.js 12.x LTS&#8217;yi kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">curl -sL https:\/\/deb.nodesource.com\/setup_12.x | sudo -E bash -<\/code><\/pre>\n<p>Bu komut, NodeSource deposunu sisteminizin <code>apt<\/code> kaynak listesine ekleyecektir. <code>setup_12.x<\/code> yerine <code>setup_10.x<\/code> veya <code>setup_14.x<\/code> gibi ba\u015fka bir s\u00fcr\u00fcm de belirtebilirsiniz.<\/p>\n<h4>Node.js ve npm&#8217;i Kurma<\/h4>\n<p>Depo eklendikten sonra, Node.js ve npm&#8217;i a\u015fa\u011f\u0131daki komutla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y nodejs<\/code><\/pre>\n<p>Bu komut hem Node.js \u00e7al\u0131\u015fma zaman\u0131n\u0131 hem de npm paket y\u00f6neticisini kuracakt\u0131r.<\/p>\n<h4>Node.js ve npm Kurulumunu Do\u011frulama<\/h4>\n<p>Kurulumun ba\u015far\u0131l\u0131 oldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Bu komutlar, kurulu Node.js ve npm s\u00fcr\u00fcmlerini g\u00f6stermelidir (\u00f6rne\u011fin <code>v12.x.x<\/code> ve <code>6.x.x<\/code>). E\u011fer bu komutlar hata verirse, kurulum ad\u0131mlar\u0131n\u0131 tekrar kontrol edin.<\/p>\n<h3>Veritaban\u0131 Kurulumu: Rails Uygulamalar\u0131 \u0130\u00e7in Gerekli<\/h3>\n<p>Rails uygulamalar\u0131 genellikle verileri depolamak i\u00e7in bir ili\u015fkisel veritaban\u0131na ihtiya\u00e7 duyar. PostgreSQL, Rails geli\u015ftiricileri aras\u0131nda pop\u00fcler bir se\u00e7imdir, ancak MySQL de yayg\u0131n olarak kullan\u0131l\u0131r. Bu b\u00f6l\u00fcmde, PostgreSQL&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 anlataca\u011f\u0131z. MySQL&#8217;i tercih ediyorsan\u0131z, alternatif ad\u0131mlar\u0131 da k\u0131saca belirtece\u011fiz.<\/p>\n<h4>PostgreSQL Kurulumu (\u00d6nerilen)<\/h4>\n<p>PostgreSQL, g\u00fc\u00e7l\u00fc, a\u00e7\u0131k kaynakl\u0131 bir ili\u015fkisel veritaban\u0131 sistemidir. Rails ile \u00e7ok iyi entegre olur ve bir\u00e7ok geli\u015fmi\u015f \u00f6zelli\u011fe sahiptir.<\/p>\n<h5>PostgreSQL Sunucusunu Kurma<\/h5>\n<p>PostgreSQL sunucusunu ve gerekli istemci k\u00fct\u00fcphanelerini kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y postgresql postgresql-contrib libpq-dev<\/code><\/pre>\n<p>*   <code>postgresql<\/code>: PostgreSQL veritaban\u0131 sunucusunu kurar.<br \/>\n*   <code>postgresql-contrib<\/code>: PostgreSQL i\u00e7in ek mod\u00fclleri ve yard\u0131mc\u0131 programlar\u0131 i\u00e7erir.<br \/>\n*   <code>libpq-dev<\/code>: PostgreSQL istemci k\u00fct\u00fcphaneleri i\u00e7in geli\u015ftirme dosyalar\u0131d\u0131r. Rails uygulamalar\u0131n\u0131n PostgreSQL&#8217;e ba\u011flanmas\u0131 i\u00e7in bu gereklidir.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra PostgreSQL servisi otomatik olarak ba\u015flar. Durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status postgresql<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (exited)<\/code> veya <code>active (running)<\/code> gibi bir ifade g\u00f6rmelisiniz.<\/p>\n<h5>PostgreSQL Kullan\u0131c\u0131s\u0131 ve Veritaban\u0131 Olu\u015fturma<\/h5>\n<p>PostgreSQL, varsay\u0131lan olarak <code>postgres<\/code> ad\u0131nda bir s\u00fcper kullan\u0131c\u0131 hesab\u0131 olu\u015fturur. Bu hesab\u0131 kullanarak yeni kullan\u0131c\u0131lar ve veritabanlar\u0131 olu\u015fturabiliriz.<\/p>\n<p>\u00d6nce <code>postgres<\/code> kullan\u0131c\u0131s\u0131na ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo -i -u postgres<\/code><\/pre>\n<p>\u015eimdi <code>psql<\/code> komut sat\u0131r\u0131 istemcisine girin:<\/p>\n<pre><code class=\"language-bash\">psql<\/code><\/pre>\n<p><code>psql<\/code> istemcisindeyken, kendi Ubuntu kullan\u0131c\u0131 ad\u0131n\u0131zla ayn\u0131 adla bir PostgreSQL kullan\u0131c\u0131s\u0131 olu\u015fturmak iyi bir pratiktir. Bu, Rails&#8217;in varsay\u0131lan olarak ba\u011flant\u0131 kurmaya \u00e7al\u0131\u015faca\u011f\u0131 kullan\u0131c\u0131 ad\u0131d\u0131r.<\/p>\n<pre><code class=\"language-sql\">CREATE USER your_username WITH SUPERUSER PASSWORD 'your_password';<\/code><\/pre>\n<p><code>your_username<\/code> yerine kendi Ubuntu kullan\u0131c\u0131 ad\u0131n\u0131z\u0131, <code>your_password<\/code> yerine g\u00fcvenli bir \u015fifre yaz\u0131n. <code>SUPERUSER<\/code> ayr\u0131cal\u0131\u011f\u0131, geli\u015ftirme ortam\u0131nda kolayl\u0131k sa\u011flar, ancak \u00fcretim ortam\u0131nda daha k\u0131s\u0131tl\u0131 ayr\u0131cal\u0131klar verilmelidir.<\/p>\n<p>\u015eimdi <code>psql<\/code> istemcisinden \u00e7\u0131k\u0131n:<\/p>\n<pre><code class=\"language-sql\">\\q<\/code><\/pre>\n<p>Tekrar normal Ubuntu kullan\u0131c\u0131n\u0131za d\u00f6nmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">exit<\/code><\/pre>\n<p>Art\u0131k Rails uygulamalar\u0131n\u0131zda kullanabilece\u011finiz bir PostgreSQL kullan\u0131c\u0131n\u0131z var.<\/p>\n<h4>MySQL Kurulumu (Alternatif)<\/h4>\n<p>E\u011fer PostgreSQL yerine MySQL&#8217;i tercih ediyorsan\u0131z, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip edebilirsiniz.<\/p>\n<h5>MySQL Sunucusunu Kurma<\/h5>\n<p>MySQL sunucusunu ve gerekli geli\u015ftirme k\u00fct\u00fcphanelerini kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y mysql-server libmysqlclient-dev<\/code><\/pre>\n<p>*   <code>mysql-server<\/code>: MySQL veritaban\u0131 sunucusunu kurar. Kurulum s\u0131ras\u0131nda size <code>root<\/code> kullan\u0131c\u0131s\u0131 i\u00e7in bir \u015fifre belirlemeniz istenebilir.<br \/>\n*   <code>libmysqlclient-dev<\/code>: MySQL istemci k\u00fct\u00fcphaneleri i\u00e7in geli\u015ftirme dosyalar\u0131d\u0131r. Rails uygulamalar\u0131n\u0131n MySQL&#8217;e ba\u011flanmas\u0131 i\u00e7in bu gereklidir.<\/p>\n<p>Kurulum tamamland\u0131ktan sonra MySQL servisi otomatik olarak ba\u015flar. Durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status mysql<\/code><\/pre>\n<h5>MySQL Kullan\u0131c\u0131s\u0131 ve Veritaban\u0131 Olu\u015fturma<\/h5>\n<p>MySQL&#8217;e <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>Kurulum s\u0131ras\u0131nda belirledi\u011finiz <code>root<\/code> \u015fifresini girmeniz istenecektir.<\/p>\n<p>MySQL istemcisindeyken, kendi Ubuntu kullan\u0131c\u0131 ad\u0131n\u0131zla ayn\u0131 adla bir MySQL kullan\u0131c\u0131s\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-sql\">CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';\nGRANT ALL PRIVILEGES ON <em>.<\/em> TO 'your_username'@'localhost' WITH GRANT OPTION;\nFLUSH PRIVILEGES;<\/code><\/pre>\n<p><code>your_username<\/code> yerine kendi Ubuntu kullan\u0131c\u0131 ad\u0131n\u0131z\u0131, <code>your_password<\/code> yerine g\u00fcvenli bir \u015fifre yaz\u0131n.<\/p>\n<p>\u015eimdi MySQL istemcisinden \u00e7\u0131k\u0131n:<\/p>\n<pre><code class=\"language-sql\">exit<\/code><\/pre>\n<p>Art\u0131k Rails uygulamalar\u0131n\u0131zda kullanabilece\u011finiz bir MySQL kullan\u0131c\u0131n\u0131z var.<\/p>\n<h3>\u0130lk Rails Uygulamas\u0131n\u0131 Olu\u015fturma ve \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>T\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 ve \u00e7er\u00e7eveleri kurduktan sonra, art\u0131k ilk Ruby on Rails uygulaman\u0131z\u0131 olu\u015fturmaya haz\u0131rs\u0131n\u0131z.<\/p>\n<h4>Yeni Bir Rails Projesi Olu\u015fturma<\/h4>\n<p>Terminalde, uygulamalar\u0131n\u0131z\u0131 depolamak istedi\u011finiz dizine gidin (\u00f6rne\u011fin, ana dizininizde bir <code>projects<\/code> klas\u00f6r\u00fc olu\u015fturabilirsiniz):<\/p>\n<pre><code class=\"language-bash\">mkdir ~\/projects\ncd ~\/projects<\/code><\/pre>\n<p>\u015eimdi yeni bir Rails uygulamas\u0131 olu\u015fturun. E\u011fer PostgreSQL kullan\u0131yorsan\u0131z <code>--database=postgresql<\/code> bayra\u011f\u0131n\u0131 ekleyin. E\u011fer MySQL kullan\u0131yorsan\u0131z <code>--database=mysql<\/code> bayra\u011f\u0131n\u0131 kullan\u0131n.<\/p>\n<pre><code class=\"language-bash\">rails new my_first_app --database=postgresql<\/code><\/pre>\n<p>Bu komut, <code>my_first_app<\/code> ad\u0131nda yeni bir Rails projesi olu\u015fturur ve gerekli t\u00fcm dosya ve dizinleri ayarlar. Bu i\u015flem biraz zaman alabilir.<\/p>\n<p>Proje olu\u015fturulduktan sonra, projenin dizinine ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd my_first_app<\/code><\/pre>\n<h4>Veritaban\u0131 Yap\u0131land\u0131rmas\u0131 (database.yml)<\/h4>\n<p>Rails, veritaban\u0131 ba\u011flant\u0131 bilgilerini <code>config\/database.yml<\/code> dosyas\u0131nda saklar. Bu dosyay\u0131 d\u00fczenleyerek PostgreSQL veya MySQL kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 ve \u015fifrenizi girmeniz gerekir.<\/p>\n<p>Bir metin d\u00fczenleyici ile <code>config\/database.yml<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n (\u00f6rne\u011fin <code>nano<\/code> veya <code>gedit<\/code>):<\/p>\n<pre><code class=\"language-bash\">nano config\/database.yml<\/code><\/pre>\n<p><code>development<\/code> ve <code>test<\/code> ortamlar\u0131 i\u00e7in <code>username<\/code> ve <code>password<\/code> alanlar\u0131n\u0131, veritaban\u0131 kurulumunda olu\u015fturdu\u011funuz kullan\u0131c\u0131 ad\u0131 ve \u015fifre ile g\u00fcncelleyin. \u00d6rne\u011fin, PostgreSQL i\u00e7in \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code class=\"language-yaml\"># config\/database.yml\ndevelopment:\n  adapter: postgresql\n  encoding: unicode\n  pool: <%= ENV.fetch(\"RAILS_MAX_THREADS\") { 5 } %>\n  username: your_username # Buray\u0131 g\u00fcncelleyin\n  password: your_password # Buray\u0131 g\u00fcncelleyin\n  host: localhost\n  database: my_first_app_development\n\ntest:\n  adapter: postgresql\n  encoding: unicode\n  pool: <%= ENV.fetch(\"RAILS_MAX_THREADS\") { 5 } %>\n  username: your_username # Buray\u0131 g\u00fcncelleyin\n  password: your_password # Buray\u0131 g\u00fcncelleyin\n  host: localhost\n  database: my_first_app_test<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n (Nano i\u00e7in <code>Ctrl+O<\/code>, <code>Enter<\/code>, <code>Ctrl+X<\/code>).<\/p>\n<h4>Veritaban\u0131n\u0131 Olu\u015fturma<\/h4>\n<p>Veritaban\u0131 yap\u0131land\u0131rmas\u0131n\u0131 g\u00fcncelledikten sonra, Rails uygulaman\u0131z i\u00e7in veritabanlar\u0131n\u0131 olu\u015fturman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">rails db:create<\/code><\/pre>\n<p>Bu komut, <code>my_first_app_development<\/code> ve <code>my_first_app_test<\/code> ad\u0131nda iki veritaban\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>Rails Sunucusunu Ba\u015flatma<\/h4>\n<p>Art\u0131k Rails uygulaman\u0131z\u0131 yerel sunucuda \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rails server<\/code><\/pre>\n<p>Veya k\u0131saca:<\/p>\n<pre><code class=\"language-bash\">rails s<\/code><\/pre>\n<p>Bu komut, Rails&#8217;in varsay\u0131lan web sunucusu olan Puma&#8217;y\u0131 ba\u015flatacakt\u0131r. Terminalde <code>Listening on tcp:\/\/127.0.0.1:3000<\/code> gibi bir \u00e7\u0131kt\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>Taray\u0131c\u0131da Kontrol Etme<\/h4>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve adres \u00e7ubu\u011funa <code>http:\/\/localhost:3000<\/code> yaz\u0131n. E\u011fer her \u015fey do\u011fru kurulduysa, &#8220;Yay! You\u2019re on Rails!&#8221; yazan varsay\u0131lan Rails ho\u015f geldiniz sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>Tebrikler! Ubuntu 16.04 \u00fczerinde RVM ile Ruby on Rails geli\u015ftirme ortam\u0131n\u0131z\u0131 ba\u015far\u0131yla kurdunuz ve ilk uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131n\u0131z.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Kurulum s\u00fcrecinde baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte baz\u0131lar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>1. RVM veya Ruby Komutlar\u0131 Bulunam\u0131yor (Command Not Found)<\/h4>\n<p>*   <strong>Sorun:<\/strong> <code>rvm<\/code>, <code>ruby<\/code>, <code>gem<\/code> veya <code>rails<\/code> gibi komutlar\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda <code>command not found<\/code> hatas\u0131 al\u0131yorsunuz.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> RVM ortam de\u011fi\u015fkenlerinin mevcut terminal oturumunuza y\u00fcklenmemi\u015f olmas\u0131 muhtemeldir. Terminali kapat\u0131p yeniden a\u00e7\u0131n veya a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">source ~\/.rvm\/scripts\/rvm<\/code><\/pre>\n<p>    E\u011fer RVM ile Ruby s\u00fcr\u00fcm\u00fcn\u00fc de\u011fi\u015ftirdiyseniz, o s\u00fcr\u00fcm\u00fc tekrar etkinle\u015ftirdi\u011finizden emin olun:<\/p>\n<pre><code class=\"language-bash\">rvm use ruby-2.4.10 --default # veya kulland\u0131\u011f\u0131n\u0131z s\u00fcr\u00fcm<\/code><\/pre>\n<h4>2. Gem Y\u00fckleme Hatalar\u0131 (Derleme Sorunlar\u0131)<\/h4>\n<p>*   <strong>Sorun:<\/strong> <code>gem install<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131rken, \u00f6zellikle <code>nokogiri<\/code>, <code>pg<\/code> (PostgreSQL adapt\u00f6r\u00fc) veya <code>mysql2<\/code> (MySQL adapt\u00f6r\u00fc) gibi gem&#8217;ler i\u00e7in derleme hatalar\u0131 al\u0131yorsunuz.<br \/>\n<em>   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle eksik sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131ndan kaynaklan\u0131r. &#8220;\u00d6n Haz\u0131rl\u0131klar&#8221; b\u00f6l\u00fcm\u00fcndeki t\u00fcm <code>lib<\/em>-dev<\/code> paketlerinin kurulu oldu\u011fundan emin olun. \u00d6zellikle:<br \/>\n    *   <code>nokogiri<\/code> i\u00e7in: <code>libxml2-dev<\/code> ve <code>libxslt1-dev<\/code><br \/>\n    *   <code>pg<\/code> i\u00e7in: <code>libpq-dev<\/code><br \/>\n    *   <code>mysql2<\/code> i\u00e7in: <code>libmysqlclient-dev<\/code><br \/>\n    *   Genel derleme sorunlar\u0131 i\u00e7in: <code>build-essential<\/code><br \/>\n    Gerekli paketleri kurduktan sonra gem&#8217;i tekrar y\u00fcklemeyi deneyin.<\/p>\n<h4>3. Veritaban\u0131 Ba\u011flant\u0131 Sorunlar\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> <code>rails db:create<\/code> veya <code>rails server<\/code> \u00e7al\u0131\u015ft\u0131r\u0131rken veritaban\u0131 ba\u011flant\u0131 hatas\u0131 al\u0131yorsunuz (\u00f6rne\u011fin <code>FATAL: password authentication failed for user \"your_username\"<\/code>).<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <code>config\/database.yml<\/code> dosyas\u0131ndaki <code>username<\/code> ve <code>password<\/code> bilgilerinin do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   PostgreSQL veya MySQL servislerinin \u00e7al\u0131\u015f\u0131r durumda oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status postgresql # veya mysql<\/code><\/pre>\n<p>    *   Veritaban\u0131 kullan\u0131c\u0131n\u0131z\u0131n do\u011fru ayr\u0131cal\u0131klara sahip oldu\u011fundan emin olun. Gerekirse veritaban\u0131 kullan\u0131c\u0131s\u0131n\u0131 silip yeniden olu\u015fturun ve do\u011fru \u015fifreyi belirleyin.<br \/>\n    *   PostgreSQL i\u00e7in, <code>pg_hba.conf<\/code> dosyas\u0131ndaki kimlik do\u011frulama y\u00f6ntemlerini kontrol etmeniz gerekebilir (geli\u015ftirme ortam\u0131nda genellikle <code>md5<\/code> veya <code>trust<\/code> kullan\u0131l\u0131r).<\/p>\n<h4>4. Node.js veya Yarn ile \u0130lgili Sorunlar<\/h4>\n<p>*   <strong>Sorun:<\/strong> Rails uygulamas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rken JavaScript derlemesi ile ilgili hatalar al\u0131yorsunuz (\u00f6rne\u011fin <code>Webpacker::Manifest::MissingEntryError<\/code>).<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   Node.js ve npm&#8217;in do\u011fru bir \u015fekilde kuruldu\u011fundan emin olun (<code>node -v<\/code>, <code>npm -v<\/code>).<br \/>\n    *   Projenizin <code>Gemfile<\/code> dosyas\u0131nda <code>webpacker<\/code> gem&#8217;inin etkin oldu\u011fundan emin olun.<br \/>\n    *   Proje dizininde <code>yarn install<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak JavaScript ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurun (Yarn, npm&#8217;e alternatif bir paket y\u00f6neticisidir ve Rails uygulamalar\u0131nda s\u0131k\u00e7a kullan\u0131l\u0131r. Kurulumu i\u00e7in <code>sudo apt-get install yarn<\/code> komutunu kullanabilirsiniz).<br \/>\n    *   E\u011fer Node.js s\u00fcr\u00fcm\u00fcn\u00fcz eskiyse, NodeSource deposunu kullanarak daha g\u00fcncel bir s\u00fcr\u00fcm kurun.<\/p>\n<h4>5. Yava\u015f Kurulum veya Derleme S\u00fcreleri<\/h4>\n<p>*   <strong>Sorun:<\/strong> Ruby veya Rails gem&#8217;lerinin kurulumu \u00e7ok uzun s\u00fcr\u00fcyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu normaldir, \u00f6zellikle Ruby&#8217;nin kaynak koddan derlenmesi ve bir\u00e7ok gem&#8217;in indirilip kurulmas\u0131 zaman alabilir. \u0130nternet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131 ve sisteminizin i\u015flem g\u00fcc\u00fc bu s\u00fcreyi etkiler. Sab\u0131rl\u0131 olun.<\/p>\n<p>Bu sorun giderme ipu\u00e7lar\u0131, kar\u015f\u0131la\u015fabilece\u011finiz \u00e7o\u011fu problemi \u00e7\u00f6zmenize yard\u0131mc\u0131 olacakt\u0131r. E\u011fer belirli bir sorunla kar\u015f\u0131la\u015f\u0131rsan\u0131z, hata mesaj\u0131n\u0131 dikkatlice okuyun ve internette arama yaparak daha fazla bilgi edinebilirsiniz.<\/p>\n<h3>Sonu\u00e7: Ba\u015far\u0131l\u0131 Bir Rails Geli\u015ftirme Ortam\u0131<\/h3>\n<p>Bu kapsaml\u0131 rehber boyunca, Ubuntu 16.04 i\u015fletim sistemi \u00fczerine RVM kullanarak Ruby&#8217;yi ve ard\u0131ndan Ruby on Rails \u00e7er\u00e7evesini nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Ba\u015flang\u0131\u00e7ta sistem g\u00fcncellemeleri ve gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131n kurulumu ile sa\u011flam bir temel olu\u015fturduk. Ard\u0131ndan, RVM&#8217;in kurulumunu ve Ruby s\u00fcr\u00fcmlerini nas\u0131l y\u00f6netece\u011finizi detayland\u0131rd\u0131k. Ruby&#8217;yi kurduktan sonra, Rails gem&#8217;ini y\u00fckledik ve modern Rails uygulamalar\u0131 i\u00e7in vazge\u00e7ilmez olan Node.js&#8217;yi sisteme entegre ettik. Son olarak, bir veritaban\u0131 (PostgreSQL) kurduk ve ilk Rails uygulaman\u0131z\u0131 olu\u015fturup ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131rd\u0131k.<\/p>\n<p>Bu kurulum s\u00fcreci, size g\u00fc\u00e7l\u00fc ve esnek bir geli\u015ftirme ortam\u0131 sa\u011flamak i\u00e7in tasarlanm\u0131\u015ft\u0131r. RVM sayesinde, farkl\u0131 projeleriniz i\u00e7in farkl\u0131 Ruby ve Rails s\u00fcr\u00fcmlerini kolayca y\u00f6netebilir, ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nleyebilir ve temiz bir geli\u015ftirme deneyimi ya\u015fayabilirsiniz. Ubuntu 16.04 gibi kararl\u0131 bir LTS s\u00fcr\u00fcm\u00fc \u00fczerinde \u00e7al\u0131\u015fmak, uzun vadede g\u00fcvenilir bir temel sunar.<\/p>\n<p>Art\u0131k Rails uygulamalar\u0131 geli\u015ftirmeye haz\u0131rs\u0131n\u0131z! Bir sonraki ad\u0131mlar\u0131n\u0131z \u015funlar olabilir:<br \/>\n*   <strong>Rails K\u0131lavuzlar\u0131n\u0131 Ke\u015ffetme:<\/strong> Ruby on Rails&#8217;in resmi k\u0131lavuzlar\u0131 (guides.rubyonrails.org), \u00e7er\u00e7eve hakk\u0131nda derinlemesine bilgi edinmek i\u00e7in harika bir kaynakt\u0131r.<br \/>\n*   <strong>Model-View-Controller (MVC) Mimarisi:<\/strong> Rails&#8217;in temel mimarisini anlamak, uygulamalar\u0131n\u0131z\u0131 daha etkili bir \u015fekilde tasarlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<br \/>\n*   <strong>Veritaban\u0131 Migrasyonlar\u0131:<\/strong> Veritaban\u0131 \u015feman\u0131z\u0131 nas\u0131l y\u00f6netece\u011finizi \u00f6\u011frenin.<br \/>\n*   <strong>Scaffolding ve Kaynak Olu\u015fturma:<\/strong> Rails&#8217;in h\u0131zl\u0131 uygulama geli\u015ftirme yeteneklerini ke\u015ffedin.<br \/>\n*   <strong>Test Odakl\u0131 Geli\u015ftirme (TDD):<\/strong> Uygulamalar\u0131n\u0131z\u0131 testlerle destekleyerek daha sa\u011flam kod yazma prati\u011fi edinin.<\/p>\n<p>Ruby on Rails toplulu\u011fu olduk\u00e7a canl\u0131 ve destekleyicidir. Kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z herhangi bir sorunda veya yeni bir \u015fey \u00f6\u011frenmek istedi\u011finizde, Stack Overflow, Rails forumlar\u0131 ve \u00e7e\u015fitli geli\u015ftirici bloglar\u0131 gibi kaynaklara ba\u015fvurmaktan \u00e7ekinmeyin. Ba\u015far\u0131l\u0131 bir geli\u015ftirme yolculu\u011fu dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber\nGiri\u015f: Ruby on Rails, RVM ve Ubuntu 16.04\nRuby on Rails (Rails),","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":[1468],"tags":[],"class_list":{"0":"post-35211","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber - 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\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber Giri\u015f: Ruby on Rails, RVM ve Ubuntu 16.04 Ruby on Rails (Rails),\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-26T22:40:53+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=\"24 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber\",\"datePublished\":\"2025-11-26T22:40:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/\"},\"wordCount\":4249,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/\",\"name\":\"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-26T22:40:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber\"}]},{\"@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":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber - 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\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber","og_description":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber Giri\u015f: Ruby on Rails, RVM ve Ubuntu 16.04 Ruby on Rails (Rails),","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-26T22:40:53+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"24 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber","datePublished":"2025-11-26T22:40:53+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/"},"wordCount":4249,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/","name":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-26T22:40:53+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-rvm-ile-ruby-on-rails-kurulumu-adim-adim-kapsamli-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 \u00dczerine RVM ile Ruby on Rails Kurulumu: Ad\u0131m Ad\u0131m Kapsaml\u0131 Rehber"}]},{"@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\/35211","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=35211"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35211\/revisions"}],"predecessor-version":[{"id":35212,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35211\/revisions\/35212"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}