C-limber's highへようこそ。
C-limber's highは山登りのサイトではなく、福岡システム開発WEB制作会社 C-limber(クライマー)株式会社の技術メモブログです。
福岡システム開発ホームページ制作をお探しの方はお気軽にご相談下さい。

2015年6月3日水曜日

[Ruby on Rails]Mac OSX のhomebrewでRailsの環境を作る

21:18 Posted by 池田涼 , No comments
homebrewをアップデート


$ brew update
$ brew install rbenv ruby-build
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc $ rbenv --version rbenv 0.4.0
インストールされているRubyのバージョンを確認
$ rbenv versions
* system (set by /Users/eikichi/.rbenv/version)
2.1.3
Ruby の新しいバージョンが有るか確認
$ rbenv install -l
2.1.0
2.1.1
2.1.2
2.1.3
2.1.4
2.2.0-dev
2.2.0-preview1


新しいバージョンの Ruby をインストール
$ rbenv install 2.1.4
Downloading ruby-2.1.4.tar.gz...
-> http://...
Installing ruby-2.1.4...
Installed ruby-2.1.4 to /...

プロジェクトディレクトリに移動してローカルのRuby を設定
$ cd /path/to/project
$ rbenv local 2.1.4

プロジェクトディレクトリに .ruby-version ファイルが生成される
ローカル Ruby のバージョン確認
$ rbenv version
2.1.4 (set by /...

Rails のローカルインストールの準備
ローカル Ruby に Bundler のみをインストール
$ rbenv exec gem install bundler
$ rbenv rehash

Gemfile 作成
$ rbenv exec bundle init

Gemfile 編集
$ vi Gemfile

編集内容
source "https://rubygems.org"
gem "rails", "4.1.7" # 出来るだけ開発開始時の最新バージョンを指定

Rails を vender/bundle ディレクトリ以下にインストール
$ rbenv exec bundle install --path vendor/bundle

インストールされた Gem を確認
$ rbenv exec bundle list 
Gems included by the bundle:
  * actionmailer (4.1.7)
  ...

Rails プロジェクト作成
MySQL を利用
$ rbenv exec bundle exec rails new project-name --skip-bundle -d mysql
※--skip-bundle を必ず指定すること。指定しないとと bundle install が発動し、ローカル Ruby 自体 に Gem がインストールされてしまう


Rails をローカルインストールするために使用した Bundler 環境を削除
$ rm -f Gemfile
$ rm -f Gemfile.lock
$ rm -rf .bundle
$ rm -rf vendor

Rails プロジェクトセットアップ

Rails プロジェクトディレクトリに移動
$ cd project-name

必要に応じて Gemfile などを編集
Bundler で必要な Gem をインストール
$ rbenv exec bundle install --path vendor/bundle

Gitの管理対象から vendor/bundle ディレクトリを外す
$ echo '/vendor/bundle' >> .gitignore

Rails プロジェクト起動
$ rbenv exec bundle exec rails s
bundleコマンドはgemコマンドでインストール。
"rbenv exec" は「システムrubyのgem」ではなく「rbenvで現在有効なrubyのgem」であることを明記する表記。
"gem" がrbenvで有効なrubyのgemを指している場合は省略可能。

0 コメント:

コメントを投稿