bundler使ってgemのバージョン指定してRailsプロジェクトを作成

# 先日のの書き直しだけど

# プロジェクト用ディレクトリとGemfileの作成

先にプロジェクト用のディレクトリを作成し、bundle使ってGemfileを作るところがポイント

```bash:terminal
$ mkdir draft
$ cd draft/
$ bundle init
Writing new Gemfile to /Users/rojiuratech/Documents/rails_apps/sandbox/draft/Gemfile
```

# 作成したGemfileに、rails（だけ）インストールを明記する

```bash:terminal
$ vi Gemfile 
```

初期状態

```ruby:Gemfile
# A sample Gemfile
source "https://rubygems.org"

# gem "rails"
```

railsのインストールを記述

```ruby:Gemfile
# A sample Gemfile
source "https://rubygems.org"

gem "rails", '4.2.5'
```

rails「だけ」インストールすると記述します。　
'4.2.5'の部分はバージョン指定です。お好みで付けたり付けなかったりしてください。

# gemのインストール箇所を指定して bundle install

ここではインストールする位置を、プロジェクトのルートから見て
vendor/bundle の箇所にする（定石のようです）

```bash:terminal
$ bundle install --path vendor/bundle
```

```bash:terminal
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.4.2
Installing i18n 0.7.0
（中略）
Installing rails 4.2.5
Bundle complete! 1 Gemfile dependency, 34 gems now installed.
Bundled gems are installed into ./vendor/bundle.
```

1件のGemファイルと34件の依存するgemをインストール。

# Railsプロジェクトを新規作成。さっきインストールしたやつで

システムやrbenvで管理されているGemではなく、このプロジェクト用に用意したRailsのgemでインストール開始

```bash:terminal
$ bundle exec rails new .
```

```bash:terminal
       exist  
      create  README.rdoc
      create  Rakefile
      create  config.ru
      create  .gitignore
    conflict  Gemfile
Overwrite /Users/ShinichiMinoshima/Documents/rails_apps/sandbox/draft/Gemfile? enter "h" for help) [Ynaqdh] Y
       force  Gemfile
（中略）
  create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.keep
         run  bundle install
rbenv: cannot rehash: /Users/rojiuratech/.rbenv/shims/.rbenv-shim exists
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.4.2
（中略）
Installing turbolinks 2.5.3
Bundle complete! 12 Gemfile dependencies, 54 gems now installed.
Bundled gems are installed into ./vendor/bundle.
Post-install message from rdoc:
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 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 exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted

```

このタイミングでGemfileも書き換わります

# Gemファイルのインストール位置も確認

```bash:terminal
$ ls ./vendor/bundle/ruby/2.2.0/gems
actionmailer-4.2.5			coffee-rails-4.1.1			json-1.8.3				rails-deprecated_sanitizer-1.0.3	sqlite3-1.3.11
actionpack-4.2.5			coffee-script-2.4.1			loofah-2.0.3				rails-dom-testing-1.0.7			thor-0.19.1
actionview-4.2.5			coffee-script-source-1.10.0		mail-2.6.3				rails-html-sanitizer-1.0.2		thread_safe-0.3.5
activejob-4.2.5				concurrent-ruby-1.0.0			mime-types-2.99				railties-4.2.5				tilt-2.0.2
activemodel-4.2.5			debug_inspector-0.0.2			mini_portile2-2.0.0			rdoc-4.2.1				turbolinks-2.5.3
activerecord-4.2.5			erubis-2.7.0				minitest-5.8.3				sass-3.4.20				tzinfo-1.2.2
activesupport-4.2.5			execjs-2.6.0				multi_json-1.11.2			sass-rails-5.0.4			uglifier-2.7.2
arel-6.0.3				globalid-0.3.6				nokogiri-1.6.7.1			sdoc-0.4.1				web-console-2.2.1
binding_of_caller-0.7.2			i18n-0.7.0				rack-1.6.4				spring-1.6.2
builder-3.2.2				jbuilder-2.4.0				rack-test-0.6.3				sprockets-3.5.2
byebug-8.2.1				jquery-rails-4.0.5			rails-4.2.5				sprockets-rails-3.0.0
```

# Railそのもののアップデートも忘れずに

前回これやらずに途方に暮れた。
Railsをインストールしたのだから必須だってばさ。

```bash:terminal
$ bundle exec rake rails:update
   identical  config/boot.rb
       exist  config
   identical  config/routes.rb
   identical  config/application.rb
   identical  config/environment.rb
    conflict  config/secrets.yml
Overwrite /Users/ShinichiMinoshima/Documents/rails_apps/sandbox/draft/config/secrets.yml? (enter "h" for help) [Ynaqdh] Y
       force  config/secrets.yml
       exist  config/environments
   identical  config/environments/development.rb
   identical  config/environments/production.rb
   identical  config/environments/test.rb
       exist  config/initializers
   identical  config/initializers/assets.rb
   identical  config/initializers/backtrace_silencers.rb
   identical  config/initializers/cookies_serializer.rb
   identical  config/initializers/filter_parameter_logging.rb
   identical  config/initializers/inflections.rb
   identical  config/initializers/mime_types.rb
   identical  config/initializers/session_store.rb
   identical  config/initializers/wrap_parameters.rb
       exist  config/locales
   identical  config/locales/en.yml
       exist  bin
   identical  bin/bundle
    conflict  bin/rails
Overwrite /Users/ShinichiMinoshima/Documents/rails_apps/sandbox/draft/bin/rails? (enter "h" for help) [Ynaqdh] Y
       force  bin/rails
    conflict  bin/rake
Overwrite /Users/ShinichiMinoshima/Documents/rails_apps/sandbox/draft/bin/rake? (enter "h" for help) [Ynaqdh] Y
       force  bin/rake
   identical  bin/setup
```