{"id":37274,"date":"2025-12-29T19:40:47","date_gmt":"2025-12-29T16:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37274"},"modified":"2025-12-29T19:40:47","modified_gmt":"2025-12-29T16:40:47","slug":"ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/","title":{"rendered":"Ruby on Rails&#8217;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Ruby on Rails&#8217;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Ruby on Rails (genellikle Rails olarak an\u0131l\u0131r), web uygulamalar\u0131 geli\u015ftirmek i\u00e7in pop\u00fcler, a\u00e7\u0131k kaynakl\u0131 bir sunucu taraf\u0131 web uygulama \u00e7er\u00e7evesidir. Ruby programlama dilinde 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) felsefeleri \u00fczerine kurulmu\u015ftur. Bu prensipler, geli\u015ftiricilerin daha az kod yazarak daha h\u0131zl\u0131 ve verimli bir \u015fekilde uygulama olu\u015fturmas\u0131n\u0131 sa\u011flar. Rails, Model-View-Controller (MVC) mimari desenini kullanarak, geli\u015ftiricilere web uygulamalar\u0131n\u0131n farkl\u0131 katmanlar\u0131n\u0131 d\u00fczenli bir \u015fekilde ay\u0131rma imkan\u0131 sunar. Airbnb, Shopify, GitHub gibi bir\u00e7ok b\u00fcy\u00fck \u015firket, uygulamalar\u0131n\u0131n bir k\u0131sm\u0131nda veya tamam\u0131nda Rails kullanmaktad\u0131r.<\/p>\n<p>Ruby on Rails geli\u015ftirmeye ba\u015flamadan \u00f6nce, sisteminize Ruby ve Rails&#8217;i do\u011fru bir \u015fekilde kurman\u0131z gerekir. Bu rehberde, Ubuntu 20.04 i\u015fletim sistemi \u00fczerinde Ruby s\u00fcr\u00fcmlerini y\u00f6netmek i\u00e7in <code>rbenv<\/code> adl\u0131 bir ara\u00e7 kullanarak Ruby on Rails kurulumunu ad\u0131m ad\u0131m anlataca\u011f\u0131z. <code>rbenv<\/code>, farkl\u0131 Ruby projeleri i\u00e7in farkl\u0131 Ruby s\u00fcr\u00fcmlerini kolayca y\u00f6netmenizi sa\u011flayan hafif ve esnek bir ara\u00e7t\u0131r. Bu, bir projenin Ruby 2.7 kullan\u0131rken, ba\u015fka bir projenin Ruby 3.1 veya 3.2 kullanmas\u0131n\u0131 gerektirdi\u011finde b\u00fcy\u00fck bir avantaj sa\u011flar. <code>rbenv<\/code>&#8216;in aksine, <code>RVM<\/code> (Ruby Version Manager) gibi alternatifler daha kapsaml\u0131 \u00f6zellikler sunsa da, <code>rbenv<\/code> minimalizmi ve basitli\u011fi nedeniyle bir\u00e7ok geli\u015ftirici taraf\u0131ndan tercih edilmektedir. Ubuntu 20.04, uzun s\u00fcreli destek (LTS) s\u00fcr\u00fcm\u00fc olmas\u0131 nedeniyle kararl\u0131 ve g\u00fcvenilir bir geli\u015ftirme ortam\u0131 sunar.<\/p>\n<p>Bu rehber, hem yeni ba\u015flayanlar hem de mevcut sistemlerinde Rails ortam\u0131n\u0131 kurmak isteyen deneyimli kullan\u0131c\u0131lar i\u00e7in kapsaml\u0131 bir yol haritas\u0131 sunmay\u0131 ama\u00e7lamaktad\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>Ubuntu 20.04 LTS \u0130\u015fletim Sistemi:<\/strong> Temiz bir kurulum veya mevcut bir sistem.<br \/>\n*   <strong>Sudo Yetkilerine Sahip Bir Kullan\u0131c\u0131:<\/strong> Kurulum ad\u0131mlar\u0131n\u0131n \u00e7o\u011fu i\u00e7in y\u00f6netici ayr\u0131cal\u0131klar\u0131 gerekecektir.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Paketleri ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 indirmek i\u00e7in gereklidir.<br \/>\n*   <strong>Temel Terminal Bilgisi:<\/strong> Linux komut sat\u0131r\u0131 ile rahat olman\u0131z beklenir.<\/p>\n<h3>Sistemi G\u00fcncelleme<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, sisteminizin paket listesini g\u00fcncellemek ve mevcut paketleri y\u00fckseltmek iyi bir uygulamad\u0131r. Bu, potansiyel ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler ve en son g\u00fcvenlik yamalar\u0131na sahip olman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>*   <code>sudo apt update<\/code>: Paket listelerini g\u00fcnceller.<br \/>\n*   <code>sudo apt upgrade -y<\/code>: Y\u00fckseltilebilecek t\u00fcm paketleri onay gerektirmeden (<code>-y<\/code>) y\u00fckseltir.<\/p>\n<h3>Temel Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme<\/h3>\n<p>Ruby&#8217;yi kaynak koddan derlemek ve Rails uygulamalar\u0131 geli\u015ftirmek i\u00e7in \u00e7e\u015fitli derleyici ara\u00e7lar\u0131na ve k\u00fct\u00fcphanelere ihtiyac\u0131m\u0131z olacak. <code>rbenv<\/code> ve Ruby-build, Ruby&#8217;yi derlemek i\u00e7in bu ba\u011f\u0131ml\u0131l\u0131klara ihtiya\u00e7 duyar.<\/p>\n<p>A\u015fa\u011f\u0131daki komutla gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 tek seferde y\u00fckleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install git curl build-essential libssl-dev libreadline-dev zlib1g-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev libgdbm-dev libncurses5-dev -y<\/code><\/pre>\n<p>Bu paketlerin her birinin bir amac\u0131 vard\u0131r:<\/p>\n<p>*   <code>git<\/code>: rbenv ve ruby-build depolar\u0131n\u0131 klonlamak i\u00e7in.<br \/>\n*   <code>curl<\/code>: Web&#8217;den dosya indirmek i\u00e7in.<br \/>\n*   <code>build-essential<\/code>: GCC derleyicisi ve di\u011fer derleme ara\u00e7lar\u0131n\u0131 i\u00e7erir; Ruby&#8217;yi kaynak koddan derlemek i\u00e7in gereklidir.<br \/>\n*   <code>libssl-dev<\/code>: SSL\/TLS deste\u011fi i\u00e7in (HTTPS istekleri gibi).<br \/>\n*   <code>libreadline-dev<\/code>: Ruby&#8217;nin etkile\u015fimli kabu\u011fu (IRB) i\u00e7in komut ge\u00e7mi\u015fi ve d\u00fczenleme \u00f6zellikleri sa\u011flar.<br \/>\n*   <code>zlib1g-dev<\/code>: Gzip s\u0131k\u0131\u015ft\u0131rma deste\u011fi i\u00e7in.<br \/>\n*   <code>libyaml-dev<\/code>: YAML dosyalar\u0131n\u0131 i\u015flemek i\u00e7in (Rails uygulamalar\u0131nda s\u0131k\u00e7a kullan\u0131l\u0131r).<br \/>\n*   <code>libsqlite3-dev<\/code> ve <code>sqlite3<\/code>: SQLite veritaban\u0131 deste\u011fi i\u00e7in (Rails&#8217;in varsay\u0131lan veritaban\u0131).<br \/>\n*   <code>libxml2-dev<\/code> ve <code>libxslt1-dev<\/code>: XML ve XSLT i\u015fleme i\u00e7in (baz\u0131 gem&#8217;ler i\u00e7in gerekli olabilir).<br \/>\n*   <code>libcurl4-openssl-dev<\/code>: Curl k\u00fct\u00fcphanesinin SSL destekli s\u00fcr\u00fcm\u00fc i\u00e7in.<br \/>\n*   <code>software-properties-common<\/code>: Depo y\u00f6netimi i\u00e7in (Node.js ve Yarn gibi ek depolar eklerken faydal\u0131d\u0131r).<br \/>\n*   <code>libffi-dev<\/code>: Foreign Function Interface (FFI) deste\u011fi i\u00e7in.<br \/>\n*   <code>libgdbm-dev<\/code> ve <code>libncurses5-dev<\/code>: Ruby&#8217;nin baz\u0131 dahili k\u00fct\u00fcphaneleri i\u00e7in.<\/p>\n<h3>rbenv Kurulumu<\/h3>\n<p><code>rbenv<\/code>, farkl\u0131 Ruby s\u00fcr\u00fcmlerini sisteminize kurman\u0131za ve y\u00f6netmenize olanak tan\u0131yan hafif bir Ruby s\u00fcr\u00fcm y\u00f6neticisidir. Her projenin kendi Ruby s\u00fcr\u00fcm\u00fcn\u00fc kullanmas\u0131n\u0131 sa\u011flayarak ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler.<\/p>\n<h4>rbenv ve Ruby-Build Y\u00fckleme<\/h4>\n<p><code>rbenv<\/code> ve eklentisi olan <code>ruby-build<\/code>&#8216;i GitHub depolar\u0131ndan klonlayaca\u011f\u0131z. <code>ruby-build<\/code>, <code>rbenv<\/code>&#8216;e Ruby s\u00fcr\u00fcmlerini derleme yetene\u011fi kazand\u0131r\u0131r.<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/rbenv\/rbenv.git ~\/.rbenv\ngit clone https:\/\/github.com\/rbenv\/ruby-build.git ~\/.rbenv\/plugins\/ruby-build<\/code><\/pre>\n<p>Bu komutlar, <code>rbenv<\/code>&#8216;i ev dizininizdeki <code>.rbenv<\/code> klas\u00f6r\u00fcne, <code>ruby-build<\/code> eklentisini ise <code>.rbenv\/plugins<\/code> alt\u0131na klonlar.<\/p>\n<h4>Kabuk Ortam\u0131n\u0131 Yap\u0131land\u0131rma<\/h4>\n<p><code>rbenv<\/code>&#8216;in \u00e7al\u0131\u015fabilmesi i\u00e7in kabuk ortam\u0131n\u0131za eklenmesi gerekir. Bu, <code>rbenv<\/code> komutlar\u0131n\u0131n tan\u0131nmas\u0131n\u0131 ve Ruby s\u00fcr\u00fcmlerini do\u011fru bir \u015fekilde y\u00f6netmesini sa\u011flar.<\/p>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 <code>.bashrc<\/code> dosyan\u0131z\u0131n sonuna ekleyin:<\/p>\n<pre><code class=\"language-bash\">echo 'export PATH=\"$HOME\/.rbenv\/bin:$PATH\"' >> ~\/.bashrc\necho 'eval \"$(rbenv init -)\"' >> ~\/.bashrc<\/code><\/pre>\n<p>*   <code>export PATH=\"$HOME\/.rbenv\/bin:$PATH\"<\/code>: <code>rbenv<\/code> y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131n sistem PATH&#8217;ine eklenmesini sa\u011flar, b\u00f6ylece <code>rbenv<\/code> komutlar\u0131n\u0131 do\u011frudan terminalden \u00e7al\u0131\u015ft\u0131rabilirsiniz.<br \/>\n*   <code>eval \"$(rbenv init -)\"<\/code>: <code>rbenv<\/code>&#8216;i kabu\u011funuza ba\u015flat\u0131r. Bu, <code>rbenv<\/code>&#8216;in Ruby s\u00fcr\u00fcmlerini y\u00f6netmek i\u00e7in gerekli olan kabuk i\u015flevlerini ve shims&#8217;leri y\u00fcklemesini sa\u011flar.<\/p>\n<p>De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in <code>.bashrc<\/code> dosyas\u0131n\u0131 yeniden kaynaklaman\u0131z veya terminali kapat\u0131p a\u00e7man\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc<\/code><\/pre>\n<p>\u015eimdi <code>rbenv<\/code>&#8216;in do\u011fru kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rbenv --version<\/code><\/pre>\n<p>Bu komut, kurulu <code>rbenv<\/code> s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir.<\/p>\n<h3>Ruby Kurulumu<\/h3>\n<p><code>rbenv<\/code> ba\u015far\u0131yla kurulduktan sonra, s\u0131ra Ruby&#8217;yi kurmaya gelir.<\/p>\n<h4>Kullan\u0131labilir Ruby S\u00fcr\u00fcmlerini Listeleme<\/h4>\n<p><code>ruby-build<\/code> eklentisi sayesinde <code>rbenv<\/code> ile kurulabilecek t\u00fcm Ruby s\u00fcr\u00fcmlerini listeleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rbenv install -l<\/code><\/pre>\n<p>Bu komut, uzun bir Ruby s\u00fcr\u00fcmleri listesi d\u00f6nd\u00fcrecektir. Genellikle en son kararl\u0131 s\u00fcr\u00fcm\u00fc tercih etmek iyi bir ba\u015flang\u0131\u00e7t\u0131r.<\/p>\n<h4>Belirli Bir Ruby S\u00fcr\u00fcm\u00fcn\u00fc Y\u00fckleme<\/h4>\n<p>Bu rehber i\u00e7in, g\u00fcncel ve kararl\u0131 bir Ruby s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin, 3.2.2 veya en son kararl\u0131 s\u00fcr\u00fcm) kuraca\u011f\u0131z. Kurulum i\u015flemi biraz zaman alabilir, \u00e7\u00fcnk\u00fc Ruby kaynak koddan derlenir.<\/p>\n<pre><code class=\"language-bash\">rbenv install 3.2.2 # Veya tercih etti\u011finiz ba\u015fka bir s\u00fcr\u00fcm<\/code><\/pre>\n<p>Kurulum tamamland\u0131\u011f\u0131nda, <code>rbenv<\/code> Ruby&#8217;nin derlenmi\u015f halini <code>.rbenv\/versions\/3.2.2<\/code> (veya se\u00e7ti\u011finiz s\u00fcr\u00fcm) alt\u0131na yerle\u015ftirecektir.<\/p>\n<h4>Varsay\u0131lan Ruby S\u00fcr\u00fcm\u00fcn\u00fc Ayarlama<\/h4>\n<p>Kurulan Ruby s\u00fcr\u00fcm\u00fcn\u00fc sistem genelinde varsay\u0131lan olarak ayarlamak i\u00e7in <code>rbenv global<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">rbenv global 3.2.2 # Kurdu\u011funuz s\u00fcr\u00fcm\u00fc kullan\u0131n<\/code><\/pre>\n<p>Bu komut, <code>.rbenv\/version<\/code> dosyas\u0131na se\u00e7ti\u011finiz s\u00fcr\u00fcm\u00fc yazar. Art\u0131k sisteminizde varsay\u0131lan Ruby s\u00fcr\u00fcm\u00fcn\u00fcz bu olacakt\u0131r.<\/p>\n<p>Kurulumun ba\u015far\u0131l\u0131 oldu\u011funu do\u011frulamak i\u00e7in Ruby ve Gem (Ruby&#8217;nin paket y\u00f6neticisi) s\u00fcr\u00fcmlerini kontrol edin:<\/p>\n<pre><code class=\"language-bash\">ruby -v\ngem -v<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da, kurdu\u011funuz Ruby s\u00fcr\u00fcm\u00fcn\u00fc ve Gem s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6rmelisiniz.<\/p>\n<h4>Bundler i\u00e7in Gemset Yap\u0131land\u0131rmas\u0131 (Opsiyonel ama \u00f6nerilir)<\/h4>\n<p><code>rbenv<\/code> do\u011frudan <code>RVM<\/code> gibi &#8220;gemset&#8221; kavram\u0131n\u0131 desteklemez. Ancak, her Ruby s\u00fcr\u00fcm\u00fcn\u00fcn kendi gem&#8217;leri vard\u0131r ve <code>Bundler<\/code> bu ihtiyac\u0131 proje baz\u0131nda kar\u015f\u0131lar. <code>Bundler<\/code>, bir projenin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6neten bir ara\u00e7t\u0131r. Her Rails uygulamas\u0131 kendi <code>Gemfile<\/code>&#8216;\u0131na sahiptir ve <code>bundle install<\/code> komutu, o projeye \u00f6zel gem&#8217;leri y\u00fckler. Bu nedenle, <code>rbenv<\/code> ile genellikle tek bir <code>Bundler<\/code> gem&#8217;ini global olarak kurmak yeterlidir.<\/p>\n<pre><code class=\"language-bash\">gem install bundler<\/code><\/pre>\n<p><code>rbenv<\/code>&#8216;in yeni y\u00fcr\u00fct\u00fclebilir dosyalar\u0131 (bu durumda <code>bundle<\/code> komutu) tan\u0131mas\u0131 i\u00e7in <code>rbenv rehash<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmak iyi bir al\u0131\u015fkanl\u0131kt\u0131r. Bu komut, <code>rbenv<\/code> shims&#8217;lerini g\u00fcnceller.<\/p>\n<pre><code class=\"language-bash\">rbenv rehash<\/code><\/pre>\n<p>Bundler s\u00fcr\u00fcm\u00fcn\u00fc kontrol ederek kurulumu do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">bundle -v<\/code><\/pre>\n<h3>Rails Kurulumu<\/h3>\n<p>Ruby ve Bundler kurulduktan sonra, art\u0131k Ruby on Rails \u00e7at\u0131s\u0131n\u0131 kurmaya haz\u0131r\u0131z.<\/p>\n<h4>Rails Gem&#8217;ini Y\u00fckleme<\/h4>\n<p>Rails, bir Ruby gem&#8217;i olarak da\u011f\u0131t\u0131l\u0131r. En son kararl\u0131 s\u00fcr\u00fcm\u00fc kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">gem install rails<\/code><\/pre>\n<p>Belirli bir Rails s\u00fcr\u00fcm\u00fcn\u00fc kurmak isterseniz (\u00f6rne\u011fin, bir projenin belirli bir Rails s\u00fcr\u00fcm\u00fcne ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 varsa), s\u00fcr\u00fcm numaras\u0131n\u0131 belirtebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">gem install rails -v 7.0.4 # \u00d6rnek olarak Rails 7.0.4<\/code><\/pre>\n<p>Rails gem&#8217;i y\u00fcklendikten sonra, <code>rbenv<\/code>&#8216;in yeni <code>rails<\/code> y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131 tan\u0131mas\u0131 i\u00e7in tekrar <code>rbenv rehash<\/code> \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">rbenv rehash<\/code><\/pre>\n<p>Rails&#8217;in ba\u015far\u0131yla kuruldu\u011funu do\u011frulamak i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-bash\">rails -v<\/code><\/pre>\n<h3>Veritaban\u0131 Kurulumu (PostgreSQL \u00d6rne\u011fi)<\/h3>\n<p>Rails uygulamalar\u0131 genellikle bir veritaban\u0131na ihtiya\u00e7 duyar. Varsay\u0131lan olarak SQLite3 kullan\u0131r, ancak \u00fcretim ortamlar\u0131nda veya daha karma\u015f\u0131k uygulamalar i\u00e7in PostgreSQL veya MySQL gibi daha g\u00fc\u00e7l\u00fc veritabanlar\u0131 tercih edilir. Bu rehberde PostgreSQL kurulumunu ele alaca\u011f\u0131z.<\/p>\n<h4>PostgreSQL Sunucusunu Y\u00fckleme<\/h4>\n<p>PostgreSQL sunucusunu ve ilgili ara\u00e7lar\u0131 y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt install postgresql postgresql-contrib libpq-dev -y<\/code><\/pre>\n<p>*   <code>postgresql<\/code>: PostgreSQL veritaban\u0131 sunucusunun kendisi.<br \/>\n*   <code>postgresql-contrib<\/code>: PostgreSQL i\u00e7in ek mod\u00fcller ve yard\u0131mc\u0131 programlar.<br \/>\n*   <code>libpq-dev<\/code>: PostgreSQL C k\u00fct\u00fcphanesi ve ba\u015fl\u0131k dosyalar\u0131; Ruby&#8217;nin <code>pg<\/code> gem&#8217;ini derlemek i\u00e7in gereklidir.<\/p>\n<p>PostgreSQL servisi kurulumdan sonra otomatik olarak ba\u015flar ve etkinle\u015ftirilir. Durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status postgresql<\/code><\/pre>\n<h4>PostgreSQL Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h4>\n<p>Rails uygulaman\u0131z\u0131n veritaban\u0131na ba\u011flanabilmesi i\u00e7in bir PostgreSQL kullan\u0131c\u0131s\u0131 olu\u015fturman\u0131z gerekir. Varsay\u0131lan olarak, PostgreSQL, <code>postgres<\/code> ad\u0131nda bir s\u00fcper kullan\u0131c\u0131 hesab\u0131 olu\u015fturur. Bu hesab\u0131 kullanarak yeni bir kullan\u0131c\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo -u postgres psql<\/code><\/pre>\n<p>Bu komut sizi PostgreSQL komut istemine atacakt\u0131r. Burada a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131rarak yeni bir kullan\u0131c\u0131 olu\u015fturun ve parolas\u0131n\u0131 ayarlay\u0131n. <code>your_username<\/code> ve <code>your_password<\/code> k\u0131s\u0131mlar\u0131n\u0131 kendi istedi\u011finiz de\u011ferlerle de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-sql\">CREATE USER your_username WITH PASSWORD 'your_password';\nALTER ROLE your_username SET client_encoding TO 'utf8';\nALTER ROLE your_username SET default_transaction_isolation TO 'read committed';\nALTER ROLE your_username SET timezone TO 'UTC';<\/code><\/pre>\n<p><code>GRANT ALL PRIVILEGES ON DATABASE your_database_name TO your_username;<\/code> komutu, belirli bir veritaban\u0131 \u00fczerinde yetki verir. Ancak, Rails uygulamas\u0131 genellikle <code>rails db:create<\/code> komutuyla kendi veritabanlar\u0131n\u0131 olu\u015fturur. Bu nedenle, kullan\u0131c\u0131ya belirli bir veritaban\u0131 \u00fczerinde yetki vermek yerine, Rails uygulaman\u0131z\u0131n <code>your_username<\/code> kullan\u0131c\u0131s\u0131 ile veritaban\u0131 olu\u015fturmas\u0131na izin vermek daha yayg\u0131n bir yakla\u015f\u0131md\u0131r.<\/p>\n<p>PostgreSQL komut isteminden \u00e7\u0131kmak i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">\\q<\/code><\/pre>\n<h4>pg Gem&#8217;ini Y\u00fckleme<\/h4>\n<p>Rails uygulaman\u0131z\u0131n PostgreSQL ile ileti\u015fim kurabilmesi i\u00e7in <code>pg<\/code> gem&#8217;ine ihtiyac\u0131 vard\u0131r. <code>libpq-dev<\/code> paketini daha \u00f6nce y\u00fckledi\u011fimizden emin olun, aksi takdirde <code>pg<\/code> gem&#8217;i derlenirken hata verecektir.<\/p>\n<pre><code class=\"language-bash\">gem install pg<\/code><\/pre>\n<p>Yine, <code>rbenv rehash<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">rbenv rehash<\/code><\/pre>\n<h3>Yeni Bir Rails Uygulamas\u0131 Olu\u015fturma ve \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>\u015eimdiye kadar Ruby, Rails ve PostgreSQL ba\u015far\u0131yla kuruldu. Art\u0131k yeni bir Rails uygulamas\u0131 olu\u015fturup \u00e7al\u0131\u015ft\u0131rarak her \u015feyin do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test edebiliriz.<\/p>\n<h4>Uygulama Olu\u015fturma<\/h4>\n<p>Yeni bir Rails uygulamas\u0131 olu\u015fturmak i\u00e7in <code>rails new<\/code> komutunu kullan\u0131n. PostgreSQL&#8217;i veritaban\u0131 olarak belirtmek i\u00e7in <code>--database=postgresql<\/code> bayra\u011f\u0131n\u0131 ekleyin:<\/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\u015fturacak ve t\u00fcm gerekli dosyalar\u0131 ve dizinleri ayarlayacakt\u0131r. Bu i\u015flem biraz zaman alabilir.<\/p>\n<p>Proje dizinine ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd my_first_app<\/code><\/pre>\n<h4>Veritaban\u0131n\u0131 Yap\u0131land\u0131rma<\/h4>\n<p>Rails, <code>config\/database.yml<\/code> dosyas\u0131n\u0131 kullanarak veritaban\u0131 ba\u011flant\u0131lar\u0131n\u0131 yap\u0131land\u0131r\u0131r. Olu\u015fturdu\u011fumuz PostgreSQL kullan\u0131c\u0131s\u0131n\u0131n bilgilerini buraya eklememiz gerekiyor.<\/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>vim<\/code>):<\/p>\n<pre><code class=\"language-bash\">nano config\/database.yml<\/code><\/pre>\n<p><code>development<\/code> (geli\u015ftirme) ve <code>test<\/code> (test) ortamlar\u0131 i\u00e7in <code>username<\/code> ve <code>password<\/code> alanlar\u0131n\u0131, PostgreSQL&#8217;de olu\u015fturdu\u011funuz kullan\u0131c\u0131 ad\u0131 ve parolayla g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-yaml\"># config\/database.yml (ilgili b\u00f6l\u00fcmler)\ndevelopment:\n  adapter: postgresql\n  encoding: unicode\n  # for details on how to specify connection options, check:\n  # http:\/\/guides.rubyonrails.org\/configuring.html#database-pooling\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>Dosyay\u0131 kaydedin ve kapat\u0131n (nano i\u00e7in <code>Ctrl+O<\/code>, <code>Enter<\/code>, <code>Ctrl+X<\/code>).<\/p>\n<p>\u015eimdi, projenin <code>Gemfile<\/code>&#8216;\u0131nda belirtilen t\u00fcm gem&#8217;leri y\u00fcklemek i\u00e7in <code>bundle install<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">bundle install<\/code><\/pre>\n<p>Bu komut, projenin \u00f6zel ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fckleyecektir. Ard\u0131ndan, veritabanlar\u0131n\u0131 olu\u015fturun:<\/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 yeni PostgreSQL veritaban\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>Uygulamay\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Rails uygulamas\u0131n\u0131 ba\u015flatmak i\u00e7in Rails sunucusunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/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>Sunucu ba\u015far\u0131yla ba\u015flad\u0131\u011f\u0131nda, terminalde &#8220;Puma starting in development on http:\/\/127.0.0.1:3000&#8221; veya benzeri bir mesaj g\u00f6rmelisiniz. Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve <code>http:\/\/localhost:3000<\/code> adresine gidin. &#8220;Yay! You\u2019re on Rails!&#8221; mesaj\u0131n\u0131 i\u00e7eren varsay\u0131lan Rails ho\u015f geldiniz sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>Uygulamay\u0131 durdurmak i\u00e7in terminalde <code>Ctrl+C<\/code> tu\u015flar\u0131na bas\u0131n.<\/p>\n<h3>Ek Bilgiler ve \u0130pu\u00e7lar\u0131<\/h3>\n<h4>rbenv Kullan\u0131m\u0131<\/h4>\n<p><code>rbenv<\/code> ile Ruby s\u00fcr\u00fcmlerini y\u00f6netmek olduk\u00e7a basittir:<\/p>\n<p>*   <strong>Kurulu Ruby s\u00fcr\u00fcmlerini listeleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">rbenv versions<\/code><\/pre>\n<p>    Bu komut, kurulu t\u00fcm Ruby s\u00fcr\u00fcmlerini ve \u015fu anda etkin olan\u0131 (bir y\u0131ld\u0131z ile i\u015faretli) g\u00f6sterir.<br \/>\n*   <strong>Proje baz\u0131nda Ruby s\u00fcr\u00fcm\u00fc ayarlama:<\/strong> Bir projenin dizinindeyken <code>rbenv local <version><\/code> komutunu kullanarak o projeye \u00f6zel bir Ruby s\u00fcr\u00fcm\u00fc belirleyebilirsiniz. Bu, o dizinde <code>.ruby-version<\/code> ad\u0131nda bir dosya olu\u015fturur.<\/p>\n<pre><code class=\"language-bash\">rbenv local 3.1.2 # Bu dizin ve alt dizinleri i\u00e7in 3.1.2'yi kullan\u0131r<\/code><\/pre>\n<p>*   <strong>Genel Ruby s\u00fcr\u00fcm\u00fc ayarlama:<\/strong> <code>rbenv global <version><\/code> komutu, sistem genelinde varsay\u0131lan Ruby s\u00fcr\u00fcm\u00fcn\u00fc ayarlar.<br \/>\n*   <strong>Ruby s\u00fcr\u00fcm\u00fcn\u00fc kald\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">rbenv uninstall 3.0.0 # Belirli bir s\u00fcr\u00fcm\u00fc kald\u0131r\u0131r<\/code><\/pre>\n<p>*   <strong>rbenv shims&#8217;lerini g\u00fcncelleme:<\/strong> <code>rbenv rehash<\/code> komutu, yeni y\u00fcr\u00fct\u00fclebilir dosyalar\u0131 (gem&#8217;ler taraf\u0131ndan sa\u011flananlar gibi) <code>rbenv<\/code>&#8216;in tan\u0131mas\u0131n\u0131 sa\u011flar. Bir gem y\u00fckledikten sonra bu komutu \u00e7al\u0131\u015ft\u0131rmak iyi bir al\u0131\u015fkanl\u0131kt\u0131r.<\/p>\n<h4>Gemset&#8217;ler (rbenv ile do\u011frudan yok, ancak bundler ile benzer i\u015flevsellik)<\/h4>\n<p><code>RVM<\/code> gibi baz\u0131 Ruby s\u00fcr\u00fcm y\u00f6neticileri &#8220;gemset&#8221; kavram\u0131n\u0131 sunar, bu da farkl\u0131 projeler i\u00e7in farkl\u0131 gem koleksiyonlar\u0131 olu\u015fturman\u0131za olanak tan\u0131r. <code>rbenv<\/code> do\u011frudan gemset&#8217;leri desteklemez. Bunun yerine, <code>rbenv<\/code> her Ruby s\u00fcr\u00fcm\u00fcn\u00fcn kendi gem&#8217;lerini izole eder. Proje baz\u0131nda ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi i\u00e7in ise <code>Bundler<\/code> kullan\u0131l\u0131r. Her Rails projesi kendi <code>Gemfile<\/code>&#8216;\u0131na sahiptir ve <code>bundle install<\/code> komutu, o projeye \u00f6zel gem&#8217;leri y\u00fckler. Bu yakla\u015f\u0131m, gemset&#8217;lerin sa\u011flad\u0131\u011f\u0131 izolasyonun \u00e7o\u011funu sunar ve genellikle yeterlidir.<\/p>\n<h4>Node.js ve Yarn Kurulumu (Rails 6+ i\u00e7in gerekli)<\/h4>\n<p>Rails 6 ve sonraki s\u00fcr\u00fcmler, JavaScript ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6netmek ve \u00f6n u\u00e7 varl\u0131klar\u0131n\u0131 derlemek i\u00e7in Webpacker (Rails 7&#8217;de <code>jsbundling-rails<\/code> veya <code>cssbundling-rails<\/code> gibi alternatiflerle) kullan\u0131r. Bu da Node.js ve Yarn&#8217;a ba\u011f\u0131ml\u0131l\u0131k anlam\u0131na gelir. E\u011fer Rails 6 veya daha yeni bir s\u00fcr\u00fcmle \u00e7al\u0131\u015f\u0131yorsan\u0131z, bunlar\u0131 da kurman\u0131z gerekir.<\/p>\n<p><strong>Node.js Kurulumu:<\/strong><\/p>\n<p>NodeSource deposunu ekleyin ve Node.js&#8217;yi y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/deb.nodesource.com\/setup_lts.x | sudo -E bash -\nsudo apt-get install -y nodejs<\/code><\/pre>\n<p><strong>Yarn Kurulumu:<\/strong><\/p>\n<p>Yarn paket y\u00f6neticisini kurun:<\/p>\n<pre><code class=\"language-bash\">curl -sS https:\/\/dl.yarnpkg.com\/debian\/pubkey.gpg | sudo apt-key add -\necho \"deb https:\/\/dl.yarnpkg.com\/debian\/ stable main\" | sudo tee \/etc\/apt\/sources.list.d\/yarn.list\nsudo apt update && sudo apt install yarn -y<\/code><\/pre>\n<p>Bu kurulumlar, Rails uygulaman\u0131z\u0131n JavaScript ve CSS varl\u0131klar\u0131n\u0131 do\u011fru bir \u015fekilde derlemesini sa\u011flayacakt\u0131r.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Kurulum s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong><code>rbenv: command not found<\/code>:<\/strong> Bu genellikle <code>rbenv<\/code>&#8216;i PATH&#8217;inize eklemedi\u011finiz veya <code>.bashrc<\/code> dosyas\u0131n\u0131 yeniden kaynaklamad\u0131\u011f\u0131n\u0131z anlam\u0131na gelir. <code>source ~\/.bashrc<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan veya terminalinizi yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n*   <strong><code>rbenv: no such command 'ruby-build'<\/code>:<\/strong> <code>ruby-build<\/code> eklentisini do\u011fru yere (<code>~\/.rbenv\/plugins\/ruby-build<\/code>) klonlamad\u0131n\u0131z demektir. Klonlama ad\u0131mlar\u0131n\u0131 kontrol edin.<br \/>\n*   <strong>Ruby derleme hatalar\u0131 (\u00f6rne\u011fin, <code>ERROR: <\/code>ruby-build<code> failed to install ruby-3.2.2<\/code>)<\/strong>: Bu genellikle eksik derleme ba\u011f\u0131ml\u0131l\u0131klar\u0131ndan kaynaklan\u0131r. <code>build-essential<\/code>, <code>libssl-dev<\/code>, <code>libreadline-dev<\/code>, <code>zlib1g-dev<\/code>, <code>libyaml-dev<\/code> gibi paketlerin y\u00fckl\u00fc oldu\u011fundan emin olun. Gerekirse &#8220;Temel Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme&#8221; b\u00f6l\u00fcm\u00fcndeki komutu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n<em>   <strong>Gem y\u00fckleme hatalar\u0131 (\u00f6zellikle native gem&#8217;ler i\u00e7in, \u00f6rne\u011fin <code>pg<\/code> veya <code>nokogiri<\/code>)<\/strong>: Bu tip gem&#8217;ler, sistem k\u00fct\u00fcphanelerine ihtiya\u00e7 duyar. \u00d6rne\u011fin, <code>pg<\/code> gem&#8217;i i\u00e7in <code>libpq-dev<\/code>, <code>nokogiri<\/code> i\u00e7in <code>libxml2-dev<\/code> ve <code>libxslt1-dev<\/code> gereklidir. \u0130lgili <code><\/em>-dev<\/code> paketlerini y\u00fckledi\u011finizden emin olun.<br \/>\n*   <strong><code>rails<\/code> komutu bulunam\u0131yor (<code>rails: command not found<\/code>):<\/strong> Rails gem&#8217;ini y\u00fckledikten sonra <code>rbenv rehash<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmay\u0131 unutmu\u015f olabilirsiniz. Bu komutu \u00e7al\u0131\u015ft\u0131rarak <code>rbenv<\/code> shims&#8217;lerini g\u00fcncelleyin.<br \/>\n<em>   <strong><code>bundle install<\/code> hatalar\u0131:<\/strong> <code>Gemfile.lock<\/code> dosyas\u0131ndaki ba\u011f\u0131ml\u0131l\u0131klar sisteminizdeki Ruby s\u00fcr\u00fcm\u00fc veya di\u011fer gem&#8217;lerle \u00e7ak\u0131\u015f\u0131yorsa bu t\u00fcr hatalar alabilirsiniz. Bazen <code>bundle update<\/code> veya <code>bundle install --without development test<\/code> (belirli gruplar\u0131 atlamak i\u00e7in) yard\u0131mc\u0131 olabilir. E\u011fer bir native gem hatas\u0131 al\u0131yorsan\u0131z, ilgili <code><\/em>-dev<\/code> paketlerini kontrol edin.<br \/>\n*   <strong>PostgreSQL ba\u011flant\u0131 sorunlar\u0131:<\/strong> <code>config\/database.yml<\/code> dosyas\u0131ndaki kullan\u0131c\u0131 ad\u0131 ve parola bilgilerinin do\u011fru oldu\u011fundan ve PostgreSQL&#8217;de olu\u015fturdu\u011funuz kullan\u0131c\u0131 ile e\u015fle\u015fti\u011finden emin olun. Ayr\u0131ca, PostgreSQL servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun (<code>sudo systemctl status postgresql<\/code>).<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, Ubuntu 20.04 \u00fczerinde <code>rbenv<\/code> kullanarak Ruby ve Ruby on Rails&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. <code>rbenv<\/code>&#8216;in esnekli\u011fi sayesinde, farkl\u0131 projeler i\u00e7in farkl\u0131 Ruby s\u00fcr\u00fcmlerini kolayca y\u00f6netebilirsiniz. Temel ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckledik, <code>rbenv<\/code> ve <code>ruby-build<\/code>&#8216;i kurduk, istedi\u011fimiz Ruby s\u00fcr\u00fcm\u00fcn\u00fc y\u00fckleyip etkinle\u015ftirdik, Bundler ve Rails gem&#8217;lerini kurduk. Ayr\u0131ca, Rails uygulamalar\u0131 i\u00e7in yayg\u0131n olarak kullan\u0131lan PostgreSQL veritaban\u0131n\u0131 kurmay\u0131 ve bir Rails uygulamas\u0131 olu\u015fturup \u00e7al\u0131\u015ft\u0131rmay\u0131 da ele ald\u0131k.<\/p>\n<p>Art\u0131k tam i\u015flevsel bir Ruby on Rails geli\u015ftirme ortam\u0131na sahipsiniz. Bu noktadan itibaren, kendi web uygulamalar\u0131n\u0131z\u0131 geli\u015ftirmeye ba\u015flayabilir, mevcut Rails projelerini klonlayabilir veya Rails \u00f6\u011frenme yolculu\u011funuzda ilerleyebilirsiniz. Unutmay\u0131n, geli\u015ftirme s\u00fcrecinde d\u00fczenli olarak <code>rbenv rehash<\/code> \u00e7al\u0131\u015ft\u0131rmak ve <code>bundle install<\/code> ile proje ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131z\u0131 g\u00fcncel tutmak iyi al\u0131\u015fkanl\u0131klard\u0131r. Ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ruby on Rails&#8217;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi\nGiri\u015f\nRuby on Rails (genellikle Rails olarak an\u0131l\u0131r), web uygulamalar\u0131 geli\u015ftirm","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-37274","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>Ruby on Rails&#039;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum 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\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby on Rails&#039;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Ruby on Rails&#039;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi Giri\u015f Ruby on Rails (genellikle Rails olarak an\u0131l\u0131r), web uygulamalar\u0131 geli\u015ftirm\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-29T16:40:47+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=\"16 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ruby on Rails&#8217;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi\",\"datePublished\":\"2025-12-29T16:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/\"},\"wordCount\":2663,\"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\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/\",\"name\":\"Ruby on Rails'i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-29T16:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruby on Rails&#8217;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum 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":"Ruby on Rails'i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum 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\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ruby on Rails'i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi","og_description":"Ruby on Rails'i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi Giri\u015f Ruby on Rails (genellikle Rails olarak an\u0131l\u0131r), web uygulamalar\u0131 geli\u015ftirm","og_url":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-29T16:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"16 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ruby on Rails&#8217;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi","datePublished":"2025-12-29T16:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/"},"wordCount":2663,"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\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/","name":"Ruby on Rails'i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-29T16:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ruby on Rails&#8217;i rbenv ile Ubuntu 20.04 \u00dczerine Kurulum 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\/37274","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=37274"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37274\/revisions"}],"predecessor-version":[{"id":37275,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37274\/revisions\/37275"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}