Ruby on Rails チュートリアル 環境構築
背景
仕事では .net C# を主戦場にしていますが、他言語も学習してみよう! ということで Ruby を選択。 ついでに .net MVC が影響を受けている rails も一緒に学習してみることにしました。
※Rubyの学習については、「プロを目指す人のためのRuby入門」を一通り終えている状態です。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る
目標
Ruby on Rails チュートリアルを一通りやって見るのを目標にします。
今回の範囲
チュートリアルではCloud9を使用して開発していますが、今回は自分のPC(MacOS)に環境を構築し進めていきます。 また、巷ではRubyやRailsをプロジェクト毎にバージョン管理する方が多いようなので、それもやって見ます。*1
環境構築
前提環境
rbenv
複数バージョンのrubyを簡単に切り替える環境を提供してくれるツールです。
参考サイト
rbenv を利用した Ruby 環境の構築 | DevelopersIO
rbenvとは?(rbenvを利用したRubyのインストール) - Qiita
rbenv + ruby-build はどうやって動いているのか - takatoshiono's blog
rbenvインストール後、Rubyのインストール・切り替えを行います。
Rubyインストール
- インストール可能なRubyのバージョンを調べる
「rbenv install --list」
rbenv install --list Available versions: ・ ・ 2.4.2 2.4.3 2.4.4 2.5.0-dev 2.5.0-preview1 2.5.0-rc1 2.5.0 2.5.1
- Rubyをインストール
「rbenv install <バージョン>」
rbenv install 2.4.4
- 環境全体のRubyバージョン指定
「rbenv global <インストール済みバージョン>」
rbenv global 2.5.0 ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17]
$ cd rails-tutorial $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17] $ rbenv local 2.4.4 $ rbenv version 2.4.4 (set by /Users/user/Projects/ruby/study/rails-tutorial/.ruby-version) $ ruby -v ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-darwin17]
bundler
Railsをプロジェクト毎にインストールするため、先にbundlerをインストールします。 rbenvを使っているのでコマンドは「rbenv exec gem install bundler」を実行。
※ bundlerは全体で使うのでグローバルインストール
$ rbenv exec gem install bundler Fetching: bundler-1.16.3.gem (100%) Successfully installed bundler-1.16.3 Parsing documentation for bundler-1.16.3 Installing ri documentation for bundler-1.16.3 Done installing documentation for bundler after 4 seconds 1 gem installed
現在のrubyにインストールされたgemの一覧を調べる
$ rbenv exec gem list *** LOCAL GEMS *** bigdecimal (default: 1.3.2) bundler (1.16.3) io-console (default: 0.4.6) json (default: 2.0.4) openssl (default: 2.0.7) psych (default: 2.2.2) rdoc (default: 5.0.0)
参考サイト
Rails開発環境の構築(rbenvでRuby導入からBundler、Rails導入まで)(Macport編) - Qiita
Railsのローカルインストール
Railsをカレントディレクトリにインストールする まずはGemfileの作成と編集
$ cd rails-tutorial $ bundle init Writing new Gemfile to /Users/user/Projects/ruby/study/rails-tutorial/Gemfile $ vim Gemfile $ cat Gemfile # frozen_string_literal: true source "https://rubygems.org" git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } gem "rails", "5.1.4" # ← ローカルに5.1.4(チュートリアルで使用しているバージョン)を指定
railsを vender/bundle ディレクトリ以下にインストール ( ls でGemfile.lock とvendorディレクトリが作成されたのを確認)
$ bundle install --path vendor/bundle $ ls Gemfile Gemfile.lock vendor
hello_app プロジェクトを作成
ようやくチュートリアルの「1.3 最初のアプリケーション」で使用するhello_appプロジェクトを作成します。 上記でインストールしたrailsを使用してプロジェクトを作成するため「bundle exec rails new」を実行します。 また「--skip-bundle」を指定してrails new 時に bundle install が発動しないようにします。
$ bundle exec rails new hello_app --skip-bundle $ ls Gemfile Gemfile.lock hello_app vendor $ cd hello_app $ ls Gemfile README.md Rakefile app bin config config.ru db lib log package.json public test tmp vendor
最後に作成したプロジェクト内でgemのインストールを行います。
この時も「--path vendor/bundle」を付けてプロジェクト専用にgemをインストールします。
(この bundle install --path vendor/bundle で、再びrails(及び関連Gem)が今度はRailsプロジェクトの vender/bundle ディレクトリ以下にインストールされる)
$ bundle install --path vendor/bundle
rails server
bundle でrails をインストールしたので rails server は以下のコマンドで実行します。
$ bundle exec rails server
Heroku セットアップ
1.5 からデプロイ先として使用するHerokuの環境構築を行います。
- CLIのインストール Herokuの公式に書いてある通り、Homebrewを使用してCLIをインストールします。 The Heroku CLI | Heroku Dev Center
$ brew install heroku/brew/heroku $ heroku --version [16:08:37] heroku/7.7.10 darwin-x64 node-v10.7.0
以上
*1:結果としてこれが一番大変でした。