Railsアプリケーション内に追加機能をインストールする

Railsアプリケーション内に追加機能(Gem)をインストールする方法を紹介します。


Gemfile(ジェムファイル)


「rails newコマンド」を使用してアプリケーションの雛形を作成した場合、ディレクトリ内に「Gemfile」と言うファイルが生成されます。

そのファイル内に追加したい機能(Gem)を追記してターミナルでコマンドを実行すると、機能を追加することができます。

追加できる機能としては、ログイン機能やページネート機能があります。

Gemには色々な種類がありますので興味があれば調べてみるのがいいと思います。

こちらに公式ページ載せておきます。


Gemのインストール手順


①「Gemfile」を開く

②「Gemfile」の一番下に必要なGemを追記する。

※元から入っているgemもあります。

③ターミナルで「cdコマンド」を使用し、機能を追加したいアプリのカレントディレクトリを移動する。

#機能を追加したいアプリへ移動
$ cd miniblog

④ターミナルで「bundle installコマンド」を実行する。

$ bundle install

下図のような表示になれば、完了!

「bundle installコマンド」と「bundle updateコマンド」の違い


・bundle installとは

実行することで「Gemfile.look」というファイルが作成され、実際にインストールされたGemの種類とバージョンが記載されます。

Gemがバージョンアップするとアプリが動かなくなる時があるので、それを防ぐのに「Gemfile.look」にGemのバージョンを保存しておくことで次に「bundle install」をする時に記載されたバージョンをインストールすることで問題を解決している。


・bundle updateとは

「Gemfile.look」でバージョンを固定していることで起こる不具合を解決する時に使用します。

例えば、A、B、Cと言う3種類のGemがあり、どのGemも関連していたとします。

すると、「A」のGemをインストールすれば、「B」と「C」と言うGemもインストールされます。

そこで、「X」と言うGemもインストールして使おうとした時、Gem「X」がGem「B」と関連していた時、バージョンの違いによって動かない場合があります。

そういった場合には「bundle update」を使用してバージョンの相違をなくす作業をします。


まとめ


  • Gemfileに必要なGemを追記して「budle install」を実行すれば機能の追加ができる
  • Gemfile.lookにGemの種類とバージョンが保存されている
  • 「bundle update」は新たに関連するGemを追加した場合、バージョンの相違によるエラーを防止する為に使用する

コメント

タイトルとURLをコピーしました