ruby-on-rails-3 - 从 Rails3 项目中卸载 gem 的最佳方法是什么?

标签 ruby-on-rails-3 uninstallation bundler

我通过 Gemfile 使用 bundler 安装了所有 gem。我(错误地)认为,如果我从 Gemfile 中删除了一个 gem 并运行“bundle 安装”,则删除的 gem 将被卸载。我查看了 bundle 程序帮助文件,据我所知,它没有卸载 gem 的方法。

我是否只使用 gem uninstall x 来完成所有操作?这会让 bundler 感到困惑吗?

最佳答案

Bundler 是从应用程序的根目录启动的,因此它可以确保所有需要的 gem 都存在以使您的应用程序正常运行。如果由于某种原因您不再需要 gem,则必须运行

    gem uninstall gem_name 

正如您上面所述。因此,每次运行 bundle 程序时,它都会重新检查依赖项

编辑 - 2014 年 12 月 24 日

我看到人们不断提出这个问题,我决定添加一些内容。 我给出的答案是针对您将 gem 维护为全局的情况。考虑使用 gem 管理器(例如 rbenv 或 rvm)来将 gem 集保留在特定项目范围内。

这意味着不会在全局级别安装任何 gem,因此当您从项目的 Gemfile 中删除一个 gem 并重新运行 bundle 时,显然它不会被加载到您的项目中。然后,您可以运行bundle clean(使用项目目录),它将从系统中删除所有曾经从 Gemfile(在同一目录中)安装的 gem,但此时不再列出......长话短说 - 它会删除未使用的 gem 。

关于ruby-on-rails-3 - 从 Rails3 项目中卸载 gem 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4667150/

相关文章:

ruby-on-rails - 如何创建一个模型来记录 IPv4 和 IPv6 IP 地址以便在 Rails 3 中快速查找?

ruby-on-rails-3 - 在rails中制作项目 "Private"

ruby - Rails 3 观察者和 current_user

java - 一些应用程序如何在 Android 上跟踪自己的卸载

ruby-on-rails - "bundle exec rake"没有 't honor "没有”

javascript - bootstrap-timepicker 的多个动态实例

powershell - 如果语句失败,PowerShell代码

macos - 如何卸载 VS 代码

ruby-on-rails - 获取所有 gem 的列表

heroku:bash: bundle :找不到命令