Skip to content

Instantly share code, notes, and snippets.

@seak0503
Last active October 11, 2016 08:27
Show Gist options
  • Save seak0503/7972f737d701032628ae to your computer and use it in GitHub Desktop.
Save seak0503/7972f737d701032628ae to your computer and use it in GitHub Desktop.
Railsのプロジェクトの作り方

Railsのプロジェクトの作り方

はじめに

rbenv, rbenv-gem-rehash, rbenv-gemsetが整っている環境で、Railsプロジェクトを作ります。

この方法の場合、下記のメリットがあります。

  • 自身のプロジェクトごとに個別のバージョンのRubyとRailsを使って開発できる。

    • 例: プロジェクトAではRuby1.9 + Rails3.0、プロジェクトBではRuby2.2 + Rails4.1
  • rbenv-gemsetを利用することで、プロジェクトごとにgemを管理できる。

    • 自身のPCのgemグループが汚れず、プロジェクトごとに個別のgemグループをつくることができる
  • 上記メリットがあるため、Gitなどを使って、メンバに配布がしやすい

すでにRails作業環境が準備できている場合は、下記、Railsプロジェクトの作成のみ実施して下さい。

プラグイン説明

rbenv-gem-rehash

rbenvを使っていると、gem install XXXと新しいgemをインストールしたときに、rbenv rehashしなければなりません。毎度面倒なので、自動で実行するようにしてくれるプラグインです。

rbenv-gemset

自身のプロジェクトごとにgem環境を切り分けたい時に、プロジェクトごとにgemのグループgemsetを つくることができるようになります。

Rails作業環境の準備

インストールされているRubyバージョンを確認する

  • ここでは例として、2.0.0-p598を使用します
$ rbenv versions
  system
  1.8.7-p374
  1.9.3-p551
  2.0.0-p598
  〜略〜

使用するバージョンのRubyがインストールされていない場合はrbenv installにてRubyをインストールしてください

Rail 用の作業環境を用意する

  • ここではrails4.0.5を使うことにします

下記ディレクトリは任意のディレクトリで構いません

$ mkdir rails_workspace/your_project_name

$ cd rails_workspace/your_project_name

作業環境のRubyバージョンを固定する

$ rbenv local 2.0.0-p598

$ cat .ruby-version
2.0.0-p598

$ rbenv versions
  system
  1.8.7-p374
* 2.0.0-p598 (set by /Users/you/git/railstutorial/rails_workspace/your_project_name/.ruby-version)
  2.1.1
  2.1.5

この作業環境用のgemsetを作成する

your_project_nameの部分は任意の名前で構いません

$ rbenv gemset create 2.0.0-p598 your_project_name

$ echo >.rbenv-gemsets your_project_name

$ cat .rbenv-gemsets
your_project_name

$ rbenv gemset list
1.9.3-p551:
  ruby_mssql
2.0.0-p598:
  2.0.0-p598
  rails3-2-14
  your_project_name <-- これが追加された
2.1.1:
  everydayrails_rspec
  rails4-0-5
2.1.2:
  pundit_sample
  rails4-1-0
2.2.1:
  asagao4

$ rbenv gemset active
your_project_name global  <-- globalはこのPC全体で共通のgemset

Railsをインストールする

すでに開発が進んでいるRailsの場合などで、Gemfileにgem 'rails'が書かれている場合は下記を実行する必要はありません

$ gem install rails --version 4.0.5

Railsプロジェクトの作成

Railsプロジェクトを生成する

ここではカレントディレクトリにプロジェクトを作成いています。

すでに開発が進んでいるRailsの場合、下記を実行する必要はありません

  • dbがMySQLの場合
$ rails new -d mysql --skip-test-unit --skip-bundle .
  • dbがPostgreSQLの場合
$ rails new -d postgresql --skip-test-unit --skip-bundle .

Gemfileの編集

  • rubyのバージョンを固定するためにGemfileの2行目ruby 'X.Y.Z' を追加する

gemインストール

$ bundle install

インストール時のエラー対応

  • パターン1

エラー内容

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/Users/shyamahira/.rbenv/versions/2.2.5/bin/ruby -r ./siteconf20161011-28835-5or7fn.rb extconf.rb
"--with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2

extconf failed, exit code 2

Gem files will remain installed in /Users/shyamahira/.rbenv/versions/2.2.5/gemsets/rails_webook/gems/nokogiri-1.6.8.1 for inspection.
Results logged to /Users/shyamahira/.rbenv/versions/2.2.5/gemsets/rails_webook/extensions/x86_64-darwin-15/2.2.0-static/nokogiri-1.6.8.1/gem_make.out

An error occurred while installing nokogiri (1.6.8.1), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.8.1'` succeeds before bundling.

対処法

bundle config build.nokogiri --use-system-librariesをしてからもう一度bundle installをする

MySQLの設定

config/database.ymlのpasswordをpassword: passwordのように設定する

データベース作成

$ rake db:create
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment