如何从Ruby on Rails应用程序中删除gem?

时间:2011-03-09 18:24:38

标签: ruby-on-rails ruby rubygems

我在我的Rails应用程序(设计)上安装了一个gem。安装宝石后,我意识到我不需要它。

我想删除gem,它的依赖项以及它在我的应用程序上创建的文件。换句话说,我想将系统恢复到以前在gem之前的状态。我怎样才能做到这一点? (我正在使用Ruby on Rails 3。)

6 个答案:

答案 0 :(得分:97)

您可以使用

gem uninstall <gem-name>

答案 1 :(得分:37)

如果您正在使用Rails 3,将其从Gemfile中删除并运行bundle install即可。

如果您正在使用Rails 2,希望您已将声明放在config / environment.rb中。如果是这样,将其从那里移除并运行rake gems:install应该可以解决问题。

答案 2 :(得分:18)

Devise使用一些生成器生成视图,并将其所需的内容生成到应用程序中。如果您运行了此生成器,则可以使用

轻松撤消它
rails destroy <name_of_generator>

宝石的卸载工作如其他帖子中所述。

答案 3 :(得分:5)

对于Rails 4 - 从Gemfile中删除gem名称,然后在终端中运行bundle install。之后还要重启服务器。

答案 4 :(得分:1)

如下:

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

(这假设您没有使用捆绑包 - 但我想您不是因为从捆绑中移除gemspec会解决问题)

答案 5 :(得分:-2)

你正在使用某种版本控制,对吗?然后,在添加gem之前恢复到提交应该非常简单,或者如果您希望保留之后有多个修订,则还原添加它的那个。