LoginSignup
7
11

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-02-02

先日のの書き直しだけど

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

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

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

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

terminal
$ vi Gemfile 

初期状態

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

# gem "rails"

railsのインストールを記述

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

gem "rails", '4.2.5'

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

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

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

terminal
$ bundle install --path vendor/bundle
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でインストール開始

terminal
$ bundle exec rails new .
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ファイルのインストール位置も確認

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をインストールしたのだから必須だってばさ。

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
7
11
0

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
7
11