Railsアプリの作成手順メモ。

Railsアプリ(ruby 2.3.3 / rails4.2.7)の新規プロジェクト立ち上げ手順。

作業ディレクトリを作る。

$ mkdir APP_NAME
$ cd chAPP_NAMEenv

rubyのリストを更新する。

$ brew update
$ brew upgrade ruby-build

Rubyのバージョンを指定してインストールする。

$ rbenv install --list
$ rbenv install 2.3.3
$ rbenv local 2.3.3
$ rbenv versions
$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin15]

bundler を初期化してGemfileを作る。

$ bundle init
rbenv: bundle: command not found

The `bundle' command exists in these Ruby versions:
:

bundlerはrubyのバージョンごとに管理されているので、bundlerを新規にインストールする。

$ gem update bundler
$ gem install bundler

再度、bundler を初期化してGemfileを作る。

$ bundle init
Writing new Gemfile to /Users/ogaworks/Desktop/rrdev/chkenv/Gemfile

GemfileでRailsのバージョンを指定してコメントアウトする。

$ vi Gemfile

# frozen_string_literal: true
source "https://rubygems.org"
gem "rails", '4.2.7'

bundler 経由で rails をインストール。

–path vendor/bundle を指定し、gemをrailsプロジェクト毎に管理する。
–jobs=4 を指定するとbundle installを並列処理で実行できる。

$ bundle install --path vendor/bundle --jobs=4

rails new でプロジェクトを作成する。

オプションを確認

$ bundle exec rails new -h

プロジェクトローカルのgemを使う
bundle install をしない(–skip-bundle / -B)
Test::Unit を使用しない(–skip-test-unit / -T)
DBはmysqlを使用する
turbolinksを使用しない

$ bundle exec rails new . -B -T -d mysql --skip-turbolinks

既存のGemfileを上書きしてもいい?は「 Y」。
これでrails new完了。

vendor/bundle配下をgitで管理しないため他諸々で、.gitignoreを編集する。

$ vi .gitignore

# Ignore bundler config.
/.bundle

# Ignore bundler gems.
vendor/bundle

# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal

# Ignore all logfiles and tempfiles.
/log/*.log
/tmp

# Ignore other unneeded files.
doc/
*.swp
*~
.project
.DS_Store
.idea
.secret
config/database.yml
config/secrets.yml

Gemfileに必要なものを追加

gem 'haml-rails'
gem 'rspec-rails'
gem 'factory_girl_rails'
gem 'puma'

インストール。

bundle install

Rspec初期設定

$ bundle exec rails generate rspec:install

FactoryGirlの設定

# in spec/rails_helper.rb

RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
end

後は適当に必要なgemを入れて bundle install。

$ bundle install

generatorの設定。

# config/application.rb
  class Application < Rails::Application
:
    config.generators do |g|
      g.template_engine :haml
      g.test_framework :rspec, view_specs: false, fixture: true
      g.fixture_replacement :factory_girl, dir: 'spec/factories'
    end
  end

pumaが入っていなければ設定。

$ brew install puma/puma/puma-dev
$ sudo puma-dev -setup
$ puma-dev -install

puma設定

$ cd PATH/APPLICATION_NAME
$ puma-dev link -n APPLICATION_NAME
$ touch /tmp/restart.txt

pumaが動かない場合 ( unexpected exit )

$ tail -f ~/Library/Logs/puma-dev.log

MySQLのDBを作成

$ bundle exec rake db:create
$ mysql APPNAME_development -u root -p

master ブランチにコミット

$ bundle install
$ git init
$ git add .
$ git commit

railsコマンドやrakeするときは bundle exec を付ければ、プロジェクトローカルのgemで実行される。

アプリケーション毎のbundlerの設定

$ bundle config

トップページをgenerate

$ rails g controller top index

ルーティングを設定

# config/routes.rb
root 'top#index'

リスタート

$ touch tmp/restart.txt

お疲れさまでした!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です