gemのバージョン指定法(>=,~>,など)について
rails アプリケーションのgemfile内でのバージョン指定の方法についてです。
以下のように、gemのバージョンが指定されております。
gem 'rails', '~> 5.1.6'
gem 'mysql2', '>= 0.3.18', '< 0.6.0'
gem 'puma', '~> 3.7'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
>=,~>,<などの記号がどういう意味なのか、はっきりとわかっていなかったので調べてみました。
基本の書き方
gem 'gem名', ('バージョン'), ('オプション')
バージョン指定の記号の意味
・'5.0.0' 5.0.0にバージョン固定
・'>=5.0.0' 5.0.0以上
・'~>5.0.0' 5.0.0以上5.9.9以下(メジャーのバージョンが上がるのは不可)
・'>=5.0.0', '< 5.3.0' 5.0.0以上6.3.0未満
'x.y.z' というバージョンの意味
・xはメジャーバージョン。
新機能が追加され、多くのAPI変更も含まれる。重大な変更。
・yはマイナーバージョン。
新機能の追加とAPIの変更も含まれることがある。
・zはパッチバージョン。
バクの修正が行われる。