学習メモ

Ruby on Railsを中心にプログラミングやWEB技術を勉強しています。

【Rails】rails new と bundle install

Railsの学習を進める中で何回もbundle installする場面があり、そのときにエラーメッセージの表示が出ることがあったのと、「Gemfileを編集したらbundle installをする」くらいの記憶だったので、Railsでのアプリケーション開発で一番最初に行う2つのコマンドとgemについて復習。
 
RailsのようなWebフレームワークではディレクトリとファイルの構造が標準化されていて、コマンドを入力するとアプリケーションのスケルトンが作成できる。Railsの内部では様々な処理が実行されるので、最低限動く状態にするにはgemのインストールが必要となる。
 
$ rails new app_name
コマンドを実行すると、実行したディレクトリにRailsアプリケーションのディレクトリが作成される。
 
$ rails _6.0.3_ new app_name
実行時にバージョンを指定することで任意のバージョンのRailsで開発を開始できる。
 
$ bundle install 
コマンドを実行することでgemをインストールできる。
rails newによりGemfileが作成されていて、デフォルトでいくつかのgemをインストールするように設定されている。
必要に応じてインストールしたいgemを追記して、再度bundle installを実行する。
このコマンドも実はbundlerというgemの一種を使っている。このパッケージを使うことで複数のgemの依存関係を保ちながらgemの管理をできる。
 
$ bundle update
状況によってはbundle installの前にこのコマンドを実行する必要がある。
 
「gem」という言葉は2つの意味で使われることがある。
  1. Rubyのパッケージ。プログラムの部品で便利な機能を一まとめにしたものをパッケージやライブラリと言う。
  2. 上記パッケージを管理するシステムであるRubyGems。gemパッケージのインストールやアンインストールなどの作業に使われるがbundlerが使われることが多い
 
Gemfile内での記載方法の違いで各gemのバージョンを指定できる。
gem ‘rails
自動的に最新バージョンのgemを取得してインストールする
 
gem ‘rails’, ‘>=6.0.3’
6.0.3以上のバージョンならインストールされる
 
gem ‘rails’, ‘~> 6.0.3’
6.0.3以上で6.1より小さい場合にインストールされる
 
Development環境、test環境、production環境があってどの環境で使用するかも指定できる。
 
参考サイト