How to remove gem from Ruby on Rails application?

2019-01-21 21:51发布

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.)

6条回答
冷血范
2楼-- · 2019-01-21 22:06

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

查看更多
贪生不怕死
3楼-- · 2019-01-21 22:09

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.

查看更多
疯言疯语
4楼-- · 2019-01-21 22:12

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.

查看更多
我欲成王,谁敢阻挡
5楼-- · 2019-01-21 22:14

If you're using Rails 3, removing it from the Gemfile and running bundle install will suffice.

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.

查看更多
我只想做你的唯一
6楼-- · 2019-01-21 22:18

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)

查看更多
趁早两清
7楼-- · 2019-01-21 22:30

You can use

gem uninstall <gem-name>

查看更多
登录 后发表回答