joppot

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

サーバ

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

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

Pocket

Snail

概要

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

前提

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

SPONSORED LINK


適当に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

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

関連記事

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

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

wordpress skeletonを使った開発環境の構築

はじめに みなさんこんにちはcandleです。wordpressは大変便利なのですが、いまいちgitで管理するのが難しいものです。 というのも、wordpress全体をgit管理対象にしてしまうと、w …

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

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

EC2にRDSの為のmysqlコマンドのみをインストールする

概要 みなさんこんにちはcandleです。今回はちょっとしたことですが、忘れない様にまとめておきます。 EC2でRDSを使う場合 EC2の中にMysqlサーバーは必要ありません。 ただmysqlコマン …

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

概要 みなさんこんにちはcandleです。今回はCentOSのapacheサーバー上にcakephpを導入してみましょう。 前提 CentOSにapacheがインストールされている mysqlがインス …

  • English
  • 日本語

プロフィール


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

スポンサードリンク

アーカイブ