Ruby on Railsは数多くのサービスに利用されていて、Web開発者であれば、一度は名前を耳にしたことがあるであろう、スタンダードなフレームワークになっています。
今回は、初学者の方のために、Docker等は使わず、Mac上に直接開発環境を構築する方法を紹介します。
開発環境はrubyはrbenvを使ってインストールしていきます。
目次
githubからrbenvをインストールしてきます。今回は~/.rbenv
にインストールします。
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
折角rbenvをインストールしましたが、今のままではパスが通っていないので、rbenv
コマンドをシステムが認識できません。パスを通すために~/.bash_profile
に以下を追記しましょう。
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
追記したら、source ~/.bash_profile
して、.bash_profile
を読み込ませます。
rubyのインストールをするためにruby-build
をインストールします。
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
さて、いよいよ実際にruby
をインストールしましょう。rbenv install -l
を実行すると、インストールできるrubyのバージョンが一覧表示されます。今回は現時点での最新版の2.1.2
をインストールすることにしましょう。
rbenv install 2.1.2
次にデフォルトで使用するrubyのバージョンを指定します。
rbenv global 2.1.2
ここでは特に何も指定しなくても、プロジェクトディレクトリに.ruby-versionというファイルを用意して
2.1.2
と書いておいてあげれば、自動的にそのバージョンに切り替えてrubyが実行されます。
ここまで来たら、gem
と呼ばれるrubyのライブラリを管理するコマンドが使えるようになっているのでgem
でbundler
をインストールしましょう。
gem install bundler
bundlerはrubyのライブラリをGemfileというファイルに記述して管理することができるようにするGemで、railsではデフォルトでこのbundlerを採用しています。
まずはGemfileを作るために以下のコマンドを叩きましょう。
bundle init
Gemfileができているとおもうので、中身を以下のように編集します
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "rails" # コメントアウトを外す
これで準備は完了です!以下のコマンドを叩いて、railsをインストールしましょう!
bundle install --path=vendor/bundle
rails
のアプリケーションを作るのに便利なrails
コマンドというものが用意されています。最初はrails new
コマンドでRuby on Railsのひな形を作りましょう。bundle execは今bundlerで作った環境で実行できるコマンドを呼び出すためのおまじないと思っておけば最初のうちは十分だと思います。
bundle exec rails new application_name -d mysql
最後のmysql
の部分は使用するデータベース管理システムを記述します。例えば、postgresql
を使用したかったら、rails new application_name -d postgresql
になります。デフォルトではsqliteを使うようになっているので、好きなデータベースを使ってあげましょう。
以下のコマンドを叩けばrailsのサーバーが起動します。
bundle exec rails s
デフォルトではhttp://localhost:3000
にアクセスするとrailsのページが表示されると思います。あとはDBの設定やルーティングの設定をすることで、開発を始められます。
実際は別にrbenvを使ってインストールする必要はなくて、Macに標準でインストールされているgem
を使っていきなりgem install rails
でインストールすることもできます。ただ、gem
の管理や様々なrubyバージョンで開発したいとき簡単に切り替えできたほうが便利なので、Mac上に直接、開発環境を構築する際はrbenvをおすすめします。
最近はDocker上で環境を整えることのほうが多いかもしれませんね。