【Rails】Gemfileのバージョン指定の書き方

Gemfileのバージョン指定

スポンサーリンク

どうも、イソップです。

Railsアプリを rails new で新規作成すると、Gemfile が作成されますよね。
これは Bundler というRubyのライブラリ管理システムのための設定ファイルで、
Railsアプリで使用するライブラリの情報が保存されています。

この Gemfile の中に、Railsで利用するRubyライブラリを記述して管理していきますが、
中を覗いてみると、gem 'rails', '~> 5.0.2' と書いてあり、~> 5.0.2 ってなんだろう?って思いませんか?

これはバージョンを指定しているのですが、Rails初心者には記号の意味がさっぱりわかりません。
ということで、今回はGemfileでのバージョンの指定について紹介してみたいと思います。

Gemfileでバージョン指定できる種類

Gemfileの中では、利用するgemを次のように書きます。

gem ライブラリ名 (, バージョン) (, オプション)

ライブラリ名は必ず必要で、バージョンとオプションを追加で指定することが可能です。

では、Railsの v5.0.2 で作成されるGemfileを見てみましょう。

gem 'rails', '~> 5.0.2'
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
...

上記のように記載されています。

早速バージョンの指定方法について解説していきましょう。

  • 1.0.0 バージョンを固定します。
  • >= 1.0.0 1.0.0以上のバージョンが必要になります。
  • >= 1.0.0, < 2.0.0 1.0.0以上、2.0.0未満のバージョンが必要になります。
  • ~> 1.0.0 1.0.0以上で利用可能で、1.0.9などは問題なく、1.1にバージョンが上がると利用不可になります。
  • バージョン指定無しの場合は、常に最新版をインストールします。

先ほどのGemfileをもう一度確認してみると、

gem 'rails', '~> 5.0.2'
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
...

rails5.0.xで利用可。
puma3.x で利用可。
sass-rails5.x で利用可。
uglifier1.3.0 以上が必要。

となります。

Gemfileのバージョン指定方法は、ぜひ覚えておきたいところです!

【参考サイト】Railsドキュメント

プログラミング学習につまづいていませんか?

自分の力で勉強していく独学は大変です。ゼロからだとなおさら辛いはず。

一人でやっていると、誰かに教えてもらいたい、もっと効率的にプログラミングを学びたい、という場面が必ずあります。

ということならばスクールを検討してみてはいかがでしょう。

オンラインで完結するプログラミングスクール「TECH::CAMP」

TECH::CAMP

TECH::CAMPは人気・評判がともに高く、月額12,800円から受講できるオンライン対応のプログラミングスクールです。

TECH::CAMPでは、ネットで受講できて講師にも質問し放題なので、好きなときに必要な知識を重点的に勉強できます。
オンラインスクールを利用すれば、住んでる場所に関係なくプログラミングスキルが磨けますよ

独学がちょっと苦しくなってしまった……という方は、オンラインでの受講を考えてみてはいかがでしょうか。

Gemfileのバージョン指定