はじめに
いまさらながらちゃんとrailsを勉強しようと思い立ったのでメモ。
この記事は下記チュートリアルになぞらえながら書いたメモ(ほぼまんま)です
チュートリアル1章の構成
このチュートリアルの1章は無理やり前半後半でわけるとこんな感じです。
- 前半 : railsのインストール
- 後半 : アプリケーションの作成
チュートリアルのまんまではあるのですが、チュートリアルは非常によくできてる分長いのであとであとで見返す手順用になるようにポイントを書いてます。
とりあえずここに書いたメモだけコマンド打てばおおよそ動くかと。
アジェンダ
---- 前半 ----
1. rvmインストール
2. rubyをインストールする
3. gemsetを作成する
4. gemの更新
5. railsのインストール
---- 後半 ----
6. アプリケーションを作成してみる
7. Bundlerでgemのインストール
8. rails serverを起動する
9. gitでバージョン管理
10. gitでbranch管理してみる
11. Herokuのセットアップ
1. rvmインストール
rvmとは
参考サイトから引用しますがこんな感じ
RVMは
Ruby Version Managerの略で、
複数のRuby処理系をインストール、共存させることができるツール。
後述するgemとは違い、ruby本体に付属せずbashがあれば動くもの。
インストール
$ curl -L https://get.rvm.io | bash -s $ rvm -v rvm 1.26.11 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
補足
rvmをいれるとメッセージでこんな感じで言われるので素直に実行しておきましょう。
もしくは.bashrcに書いちゃっても良いですね。
$ curl -L https://get.rvm.io | bash -s
・・・省略・・・
* WARNING: You have '~/.profile' file, you might want to load it,
to do that add the following line to '/Users/tweeeety/.bash_profile':
source ~/.profile
$ source ~/.profile
rvm最新にする
$ rvm get stable
参考
2. rubyをインストールする
rvmインストール後rubyインストールに必要な要件を調べる
$ rvm requirements # 必要であれば入れる $ brew install libtool openssl # yamlも必要ななので入れる $ brew install libyaml
homebrewが入ってない場合はいれましょう。
Mac OS XにHomebrewインストール。command line developer tools入れたり使い方メモったり(install、update、upgradeなど)
rubyのインストール
$ rvm install 2.0.0 --with-openssl-dir=$HOME/.rvm/usr
補足
自分の場合はrubyやgemはすでに入っていたのですが、
rvmで入れることでバージョンが切り替えられるようになりました。
rvmをインストールする前とあとだとgemのパスはこんな感じになります。
# rvmインストール前に確認 $ which gem /usr/bin/gem # rvmでインストール後に確認 $ which gem /Users/tweeeety/.rvm/rubies/ruby-2.0.0-p643/bin/gem
3. gemsetを作成する
gemsetとは
gemの組合せを管理できるツール。
一連のgemを自己完結的にまとめたgemsetというものを作成してバージョンを使い分けるのが便利。 デフォルトではglobalというgemsetが用意されている。
gemsest作成
# 一応この状態で確認 $ rvm gemset list gemsets for system (found in /Users/tweeeety/.rvm/gems/system) => (default) * # gemset作成 $ rvm use 2.0.0@railstutorial_rails_4_0 --create --default # gemset作成後に確認 $rvm gemset list gemsets for ruby-2.0.0-p643 (found in /Users/tweeeety/.rvm/gems/ruby-2.0.0-p643) (default) global => railstutorial_rails_4_0
参考
gemsetについては下記が参考になりました。
4. gemの更新
gemのバージョンを固定にしてupdateする
$ gem update --system 2.0.3 # gemがドキュメントを作成しないようにする $ vi ~/.gemrc ---- vi追記 ---- install: --no-rdoc --no-ri update: --no-rdoc --no-ri ----------------
5. railsのインストール
# 一応確認。まだ入れてないので当然の結果
$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
# インストール
$ gem install rails --version 4.0.5
# 確認
$ rails -v
Rails 4.0.5
6. アプリケーションを作成してみる
アプリケーションの作成
# versionを確認して4.0.5であることを確認
$ rails --version
Rails 4.0.5
# 今後複数のプロジェクトを格納するディレクトリを作成
$ mkdir ~/rails_projects
# rails new first_app
create
create README.rdoc
create Rakefile
・・・省略・・・
create vendor/assets/stylesheets/.keep
run bundle install
Fetching gem metadata from https://rubygems.org/............
・・・省略・・・
<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
途中でrun bundle installが実行されていることに注目。
railsプロジェクトディレクトリ構成
こちらもチュートリアルのまんまですが自分のためにもメモ
# 作成したプロジェクトディレクトリの確認
$ ls
first_app
# 作成したプロジェクトディレクトリ構成の展開とメモ
$ tree -d -L 2 first_app
first_app
├── Gemfile gemの定義
├── Gemfile.lock gemリスト
├── README.rdoc アプリケーションの説明ファイル
├── Rakefile rakeコマンドで使用可能なタスク
├── app 主要なアプリケーションコード(モデル、ビュー、コントローラ、ヘルパー)
│ ├── assets アセット類(css、js、画像、etc)
│ ├── controllers
│ ├── helpers
│ ├── mailers
│ ├── models
│ └── views
├── bin バイナリ実行可能ファイル
├── config 設定ファイル
│ ├── environments
│ ├── initializers
│ └── locales
├── config.ru
├── db データベース関連ファイル
├── lib ライブラリ
│ ├── assets ライブラリアセット(css、js、画像、etc)
│ └── tasks
├── log ログ
├── public 公開データ(エラーページ)
├── test testコード(specがあるので使用しない)
│ ├── controllers
│ ├── fixtures
│ ├── helpers
│ ├── integration
│ ├── mailers
│ └── models
├── tmp cacheなどの一時ファイル
│ └── cache
└── vendor サードパーティプラグインやgemのアセット(css、js、画像、etc)
└── assets
7. Bundlerでgemのインストール
Bundlerとは
あとに載せる参考サイトから引用します
Railsアプリケーションに必要となるGemパッケージの種類やバージョンを管理し、
複数のPCで必要なGemパッケージをインストールする仕組みを提供してくれるやつ
Bundlerでgemをインストールする
$ pwd /Users/tweeeety/rails_projects/first_app # もともとのGemfileをbuckupしておく $ mv Gemfile Gemfile.bk # チュートリアルの通りにGemfile新規作成 $ vi Gemfile ---- vi ---- source 'https://rubygems.org' ruby '2.0.0' #ruby-gemset=railstutorial_rails_4_0 gem 'rails', '4.0.5' group :development do gem 'sqlite3', '1.3.8' end gem 'sass-rails', '4.0.5' gem 'uglifier', '2.1.1' gem 'coffee-rails', '4.0.1' gem 'jquery-rails', '3.0.4' gem 'turbolinks', '1.1.1' gem 'jbuilder', '1.0.2' group :doc do gem 'sdoc', '0.3.20', require: false end ------------ # bundleでupdate & install $ bundle update $ bundle install
参考
Gemfileの記述方法はチュートリアルを読むとわかりやすいです。
また他の記事としてこちらが参考になりました
8. rails serverを起動する
ここまでくるとようやく確認らしい確認ができます。
ローカルWebサーバーを起動するコマンドが同梱されているのでそれを実行することでローカルで確認できます。
$ rails server => Booting WEBrick => Rails 4.0.5 application starting in development on http://0.0.0.0:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2015-05-24 21:00:58] INFO WEBrick 1.3.1 [2015-05-24 21:00:58] INFO ruby 2.0.0 (2015-02-25) [x86_64-darwin14.1.0] [2015-05-24 21:00:58] INFO WEBrick::HTTPServer#start: pid=71111 port=3000 Started GET "/" for 127.0.0.1 at 2015-05-24 21:01:16 +0900 Processing by Rails::WelcomeController#index as HTML Rendered /Users/tweeeety/.rvm/gems/ruby-2.0.0-p643/gems/railties-4.0.5/lib/rails/templates/rails/welcome/index.html.erb (2.8ms) Completed 200 OK in 15ms (Views: 14.4ms | ActiveRecord: 0.0ms)
ターミナルにこんな感じに表示されるのでブラウザでlocalhost:3000にアクセスすると起動しているのが確認できます。

9. gitでバージョン管理
チュートリアルではグローバルの設定やらから行ってましたが、
すでにアカウントは持ってる人も多いと思うのですでに持ってる前提で行いました。
.ignoreファイル追記
# すでにある.gitignoreに追記 $ vi ~/rails_projects/first_app/.gitignore ---- vi追記 ---- # Ignore other unneeded files. doc/ *.swp *~ .project .DS_Store .idea .secret ----------------
git管理する
githubでリポジトリを作成
これはgithub上でリポジトリを新規作成します。
書くまでもないので飛ばしますが、初めての人はこのへんを参考に。
- 新規にリポジトリ作りたいときのgithubとコマンド操作例(git clone、git remote add origin、 git init)
- githubに適当にリポジトリ作って開発環境としてみるメモ①-さくらvpsやら会社のlinuxにgit cloneってみる
first_appディレクトリ配下をgit管理する
$ cd ~/rails_projects/first_app/ # このディレクトリ配下用のgit user情報を書いておく $ vi .git ---- vi追記 ---- [user] name = tweeeety email = tweeeety@tweeeety.com ---------------- $ git init $ git add . $ git commit -m "Initialize repository" $ git remote add origin git@github.com:tweeeety/rails-first_app.git $ git push -u origin master
10. gitでbranch管理してみる
# branchを作ってcheckout $ git checkout -b modify-README # マークダウンに変更 $ git mv README.rdoc README.md # viで中身を書き換える $ vi README.md ---- vi ---- # Ruby on Rails チュートリアル:サンプルアプリケーション This is the first application for the [*Ruby on Rails Tutorial*](http://railstutorial.jp/) ------------ # masterをcheckout $ git checkout master # modify-READMEブランチをmasterにマージ $ git merge modify-README # 作業用ブランチを削除 $ git branch -d modify-README
11. Herokuのセットアップ
Herokuとは
PaaSサービスのうちの1つ。
webアプリケーションのホスティングサービス。
参考
ちょっと流れがそれますがherokuを最初から試してみたいときはこれを参考にしてみてください。
ruby環境を今回のようなチュートリアルから始めた場合は
rvenbやbundleはすでに入ってしまっているので
記事中の4. Toolbeltをインストールからが参考になるかと思います。
下記のheroku loginをするためにToolbeltが必要です。
Heroku用にGemfileに追記
$ cd ~/rails_projects/first_app $ vi Gemfile ---- vi追記 ---- group :production do gem 'pg', '0.15.1' gem 'rails_12factor', '0.0.2' end --------------- # --without productionオプションを追加して本番用のgem以外をインストール $ bundle install --without production
herokuにアプリケーションの作成
$ heroku login $ cd ~/rails_projects/first_app # herokuアプリを作成。指定無しcreateなので名前は勝手に作成される $ heroku create Creating gentle-refuge-8797... done, stack is cedar-14 https://gentle-refuge-8797.herokuapp.com/ | https://git.heroku.com/gentle-refuge-8797.git ・・・省略・・・ $ git push heroku master $ heroku open
heroku createでは名前を勝手に作成してくれるので
ターミナルでも表示されてる通り自分の場合はgentle-refuge-8797になってます。
また、チュートリアルにも書いてありますが、このままheroku openしてもエラーのような画面が表示されます。
これだと不安なので取り急ぎで動いてるか確認したいときは
~/rails_projects/first_app/public/index.htmlを作成してgit push heroku masterしなおせば
作成したindex.htmlが表示されるかと思います。
$ cd ~/rails_projects/first_app $ vi public/index.html ---- vi ---- <html> <head> <title>rails - heroku sample</title> </head> <body> rails - heroku sample </body> </html> ------------ $ git add public/index.html $ git commit -m 'add file' $ git push heroku master $ heroku open
これで画面にrails - heroku sampleと表示されます
まとめ
最終的に自前のindex.htmlを表示しただけなので、
railsそのもののを体感した感じはないですがチュートリアルの通りなのでヨシということで。
enjoy\(^o^)/