joppot

コピペで絶対動く。説明を妥協しない

サーバ

ruby on railsのbundleのGemfileでインストールしたgemを削除する

投稿日:2014年7月8日 更新日:


Snail

概要

みなんさんこんにちはcandleです。今回は間違って入れてしまったり、不必要になったgemの削除のやり方を紹介します。

前提

ruby on railsの環境が整っている
gemの概念を理解している。



適当にgemをインストールする

試しに何かサンプルとなるgemをインストールしたいと思います。
システムに影響しないgemとしてrailsのエラーを美しく表示してくれる「better_errors」を導入して削除したいと思います。

適当なrailsのプロジェクトを作るなり既存のものを使うなりします。

私は例によってbootstrap3プロジェクトを使って説明していきます。

railsプロジェクトのGemfileを開いて、
editgemfile

下の記述を書き込みましょう。

gem "better_errors"

addgem

保存したら、下のコマンドを実行してgemをインストールします。

bundle install

サンプルgemがインストールできました。

gemの動作確認をする

better_errorsがちゃんと動作しているか確認するために、わざとエラーがおきる記述をします。
app/controllers/application_controller.rbのclassの中に下の記述を書き込みます。

make error

こんな感じですね。
error

これでサーバを再起動して、ブラウザで見ると、美しいエラー画面がでます。

bettererrors

better_errorsのgemが動作しているのがわかりました。

gemを削除する

仮に、このエラー画面じゃやだ、デフォルトのエラー画面の方が良いということで、better_errors gemを削除するようになりました。

一般にbundle でインストールしたgemを削除するには下のコマンドを打ちます。

bundle exec gem uninstall ゲムの名前

例えば、今回の例のbetter_errorsをuninstallするには

bundle exec gem uninstall better_errors

と実行します。エラーみたいなのが出るかもしれませんが、問題ありません。

uninstallgem

このuninstallが終わってからGemfileを開いて、今アンインストールしたgemの記述を削除しましょう。
例えば、今回の場合ですと、「gem “better_errors”」を消します。

removebetter

これでbundle でインストールしたgemの削除が完了しました。

まとめ

phpにしてもrubyにしても最近はライブラリをそれぞれのプロジェクトの中に持つようになりました。phpのpearはPC全体でライブラリを持ち、それぞれのphpプログラムがそこから参照して使うようになっていましたが、時代の流れ的にはプロジェクト毎になっていくのでしょう。この方法も知っておくと便利ですね。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

CentOS6.5にcomposerをインストールする

概要 みなさんこんにちはcandleです。cakephpではphpのライブラリ管理ツールcomposerと連帯して、便利に必要なライブラリを導入できます。 例えば、cakephpの標準テストツールph …

vagrantで取得したlet’s encryptのssl証明書をec2のnginxで使用する

概要 みなさんこんにちはcandleです。今回は取得したvagrantのubuntuで取得したlet’s encryptを実際に使用してみます。 もしも、まだ取得してない人は前回の記事を確 …

td-agentでRails 4のproduction.logを取得する

English 日本語 概要 みなさんこんにちはcandleです。今回はrails 4のproduction ログをtd-agentで取得してみたいと思います。 数年前にも同じ記事を書いたのですが、説 …

Ubuntuにmemcachedをインストールする方法と動作確認

概要 みなさんこんにちは、今回はubuntuにmemcachedを入れて、起動や、動作確認を行ってみたいと思います。 memcachedとは比較的短期間「key=>value」という形で値を保存するサ …

cakephp2系にphpunitとDebugkitをcomposerを使って最速で導入する

概要 みなさんこんにちはcandleです。今回はcakephp2.4以降でphpunitとdebugkitをcomposerを使って導入してみたいと思います。 cakephpは標準でphpunitを使 …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー