joppot

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

サーバ

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

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

Pocket

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

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

関連記事

railsのaws-sdk gemを使ってs3のファイルを削除する

by martinak15 概要 みなさんこんにちはcandleです。今回はs3にアップロードされている画像ファイルをrailsのaws-sdk gemを使用して削除してみたいと思います。 記事中で開 …

let’s encryptのssl証明書をvagrantのubuntuを使用して取得する

概要 みなさんこんにちはcandleです。2014年の後期にmozillaあたりが主導して、無料のssl証明書作ろうという動きがありました。ついに去年の12月にβ版がでたので、早速試してみました。 ち …

出力fluentdから収集fluentdへforwardを使ってログデータを送信する方法

概要 みなさんこんにちはcandleです。今回はfluentdサーバを2台使って、ログの収集を行ってみたいと思います。サーバ2台はどのような環境でも良いのですが、私が今回説明する環境は1つはMac P …

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

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

centos6.5にtd-agentサーバを構築する

English 日本語 概要 みなさん、こんにちはcandleです。 今回はcentos6.5にtd-agentサーバを構築してみたいと思います。 td-agentとは要はfluentdの事だと思いま …

  • English
  • 日本語

プロフィール


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

スポンサードリンク

アーカイブ