1.背景
Rubyを使用して個人開発を行っています。
使用を検討していたgem(ActiveRecord)をインストールしたものの結局使わなかったのでアンインストールしたところ、
別プロジェクトのデータベースが消えてしまい、**「慎重にやっておけば良かった...」**と思いました。
データベースは削除されていませんでした。なのでアンインストールの仕方を備忘録としてまとめます。
2.環境
- mac.os バージョン10.15.6
- Ruby 2.7.3
- Rails 6.1.3.1
- psql (PostgreSQL) 12.6
3.アンインストールを実行
下記のコマンドを実行し、Gemfileからも削除、bundle install
を行いました。
project_name % bundle exec gem uninstall ActiveRecord
補足:bundle execコマンドについて
bundle execコマンドとは、アプリのGemfile.lockに記載されているgemを使用するコマンドを言います。今回の場合だと該当プロジェクト内のGemfile.lockに沿ってアンインストールが実行されていることになります。
4.gemとは
gemをまとめると下記のようになります。
- ライブラリのうち、外部ライブラリに該当する
- インストールと読み込みで使用することができる
- 外部ライブラリのファイルやフォルダを1つのgem形式のファイルにパッケージングされたもの
5.インストール時とアンインストール時の違い
インストールを行うとgem list
に追加され、アンインストールを行うとgem list
から削除されます。
# project_name % gem list (--local) gem名
project_name % gem list Activerecord
*** LOCAL GEMS ***
# gem名 (カッコ内はバージョン名) が表示される
# アンインストールするとブランクになる
activerecord (6.1.3.2, 6.1.3.1, 6.1.3, 6.1.2.1, 6.0.3.4)
activerecord-import (1.0.8)
kaminari-activerecord (1.2.1)
...
補足:アンインストールの使用例
- (本当に)不要になったとき
- 古いバージョンのものを削除したいとき
※アップデートした結果、残った古いバージョンのgemを削除する場合は
gem cleanup
というコマンドもあります。
6.参考
1.【Rails】gemのアンインストール・バージョン変更
2.library rubygems
3.【Ruby】 gemの仕組みを図解形式で学ぼう
4.【Rails】gemとbundleについてまとめてみた
5.【Rails】 結局bundlerって何?bundlerの仕組みを図解形式で徹底解説
6.RubyGemsの使い方
7.最後に
記事の感想や意見、ご指摘等あれば伝えていただけるとありがたいです。
読んでいただき、ありがとうございました。