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

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

関連記事

sshコマンドをaliasかssh configを使って短縮する

概要 みなさんこんにちはcandleです。今回はsshの接続先のホスト名を短くする方法です。 ssh接続は非常に強力なネットワークツールですが、接続先の指定がやや面倒ですね。それを単純にする方法をまと …

td-agentでnginxのerror.logとaccess.logを取得する

English 日本語 概要 みなさんこんにちはcandleです。今回はtd-agentでnginxのログを収集します。 td-agentで解説しますが、fluentdと設定は基本的に同じになると思う …

Reactをawsコマンドを使ってs3にデプロイする

概要 みなさんこんにちはcandleです。今回はcreate-react-appで作成したreactプロジェクトをS3にデプロイしてみたいと思います。React webのいいところはbuildして作ら …

railsのaws-sdk gemを使ってs3のフォルダ(folder)を削除する

概要 みなさんこんにちはcandleです。今回はs3にあるフォルダを丸ごとrailsのaws-sdk gemを使用して削除してみたいと思います。 実はこの方法を確立するまですごく四苦八苦しました。なん …

railsのfluent-loggerとdevise gemを使ってユーザーの行動をfluentdサーバに収集する

概要 fluentdと言えば、ビックデータで扱うようなデータを集め出力するサーバですが、これとrailsのfluent-logger gemとdevise gemを組み合わせてユーザーの行動ログをとっ …

  • English
  • 日本語

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