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 bundlerbundlerはrubyのライブラリをGemfileというファイルに記述して管理することができるようにするGemで、railsではデフォルトでこのbundlerを採用しています。
まずはGemfileを作るために以下のコマンドを叩きましょう。
bundle initGemfileができているとおもうので、中身を以下のように編集します
# 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/bundlerailsのアプリケーションを作るのに便利な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上で環境を整えることのほうが多いかもしれませんね。