Oded Harth
Oded Harth

Reputation: 4406

How to remove gem from Ruby on Rails application?

I have installed a gem on my Rails application (devise). After I installed the gem, I realized that I don't need it.

I want to remove the gem, its dependencies and the files it created on my application. In other words, I want to restore the system to what it used to be before the gem. How can I do this? (I'm using Ruby on Rails 3.)

Upvotes: 56

Views: 124545

Answers (6)

Srdjan Pejic
Srdjan Pejic

Reputation: 8212

If you're using Rails 3+, remove the gem from the Gemfile and run bundle install.

If you're using Rails 2, hopefully you've put the declaration in config/environment.rb. If so, removing it from there and running rake gems:install should do the trick.

Upvotes: 49

rtfminc
rtfminc

Reputation: 6363

You can use

gem uninstall <gem-name>

Upvotes: 117

Gagan Gami
Gagan Gami

Reputation: 111

For Rails 4 - remove the gem name from Gemfile and then run bundle install in your terminal. Also restart the server afterwards.

Upvotes: 6

d135-1r43
d135-1r43

Reputation: 2485

Devise uses some generators to generate views and stuff it needs into your application. If you have run this generator, you can easily undo it with

rails destroy <name_of_generator>

The uninstallation of the gem works as described in the other posts.

Upvotes: 19

cybertoast
cybertoast

Reputation: 1423

How about something like:

gem dependency devise --pipe | cut -d \  -f 1 | xargs gem uninstall -a

(this assumes that you're not using bundler - but I guess you're not since removing from your bundle gemspec would solve the problem)

Upvotes: 1

harald
harald

Reputation: 6126

You are using some sort of revision control, right? Then it should be quite simple to restore to the commit before you added the gem, or revert the one where you added it if you have several revisions after that you wish to keep.

Upvotes: -3

Related Questions