LoginSignup
2
5

More than 5 years have passed since last update.

Ruby on Rails初体験備忘録

Last updated at Posted at 2017-01-01

はじめに

Ruby及びRails初心者がRails 5を使ってみたときのメモです.

結論

0. 各種ライブラリのインストール

以下を予めインストールしておきます.

  • OpenSSL
  • readline (BSDの場合はGNUのものではないものがOSのbaseに含まれていることが多いためインストール不要です.)
  • iconv

1. rbenvのインストール

% git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
% git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

2. rbenvの設定 (bashの場合)

% [ ! -f ~/.bash_profile ] && echo '[ -f ~/.bashrc ] && . ~/.bashrc' >> ~/.bash_profile
% export PATH="$HOME/.rbenv/bin:$PATH" >> ~/.bash_profile
% eval "$(rbenv init -)" >> ~/.bash_profile
% source ~/.bash_profile
% rbenv -v
rbenv 1.1.0-2-g4f8925a

3. インストール可能なRubyのバージョンの確認

% rbenv install --list
(snip)
  2.3.2
  2.3.3
  2.4.0-dev
  2.4.0-preview1
(snip)

4. Rubyのインストール

% rbenv install 2.3.3

5. インストールされたRubyの有効化

% rbenv rehash

7. 現在のRubyのバージョンの確認

% rbenv versions
* system (set by /home/user/.rbenv/version)
   2.3.3

8. 利用するRubyの変更

% rbenv global 2.3.3
% rbenv versions
  system
* 2.3.3  (set by /home/user/.rbenv/version)

9. bundlerのインストール

% gem install bundler
% rbenv rehash

10. Railsのインストール

git cloneでRailsのアプリケーションのコードを取り出して,必要なツールをインストールする場合には本作業は不要です.

% gem install rails
% rbenv rehash

11. Railsアプリケーションの作成

% rails new hogehoge --skip-bundle

--skip-bundleによってrbenvの当該Rubyのインストール先にbundlerによって各種ツールがインストールされるのを防止しています.

12. Railsアプリケーションのための各種ツールのインストール

% cd hogehoge
% bundle install --path vendor/bundle --without production

13. Railsアプリケーションの動作確認

以下のコマンドを入力して開発版の簡易Webサーバを起動した後,Webブラウザでhttp://localhost:3000にアクセスして確認します.

% rails server -b 0

なお,-b 0は-b 0.0.0.0や::0を省略して書いただけです.

14. Railsアプリケーションの修正

以下辺りを参考に練習します.

OSのパッケージ管理システムではなくrbenvを利用する理由

  • OSのパッケージ管理システムは古いRubyしかインストールできない (e.g. Cent OS 7のyum)
  • gemでRailsをインストールしようとするとrubyが古過ぎると言われ,インストールできない

rbenvとは?

  • 異なるバージョンのRubyとそれに付随するツールを切り替えて使うためのもの.
  • $RBENV_ROOT/以下に各種Rubyとツールをインストールする.
  • $RBENV_ROOT/shims/以下にパスを通す.
  • $RBENV_ROOT/shims/以下にラッパープログラムを配置し,各種バージョンを切り替える.
  • $HOME/.rbenv以下を$RBENV_ROOTとすることが多い様だ. (つまり,ユーザ毎にRubyをインストールする)
  • 複数人で協調して1つのサーバで作業する場合は,/usr/local/rbenvを$RBENV_ROOTが良いかもしれない.

gemとは?

  • Rubyのパッケージ管理システム(RubyGems)のコマンド(インストールされたパッケージ自体を指すこともある).
  • 最近のRuby (1.9.x以降か?)ではgemはRuby本体に取り込まれたため,gem自体を別途インストールする必要はない.

bundlerとは?

  • RubyやRailsで作成するプロジェクトのためのパッケージ管理システム.
  • プロジェクトが依存しているパッケージをインストールしてくれる.
  • プロジェクトのトップディレクトリにGemfileというテキストファイルに依存しているパッケージとバージョンを記述.

Railsとは?

  • RubyのWAF (Web Application Framework: Webアプリケーションを作成するためのフレームワーク).
  • Webの最先端の技術を積極的に取り入れている (様に見える).
  • QUICやHTTP2.0,SCTPといった低いレイヤの最新技術はあまり気にしていない (様に見える).
  • メジャーバージョンが上がると移行が結構しんどそう (に見える).
2
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5