我通过 Gemfile 使用捆绑器安装了所有 gem。我(错误地)认为,如果我从 Gemfile 中删除了一个 gem 并运行“捆绑安装”,则删除的 gem 将被卸载。我查看了捆绑程序帮助文件,据我所知,它没有卸载 gem 的方法。
我是否只使用 gem uninstall x 来完成所有操作?这会让捆绑者感到困惑吗?
Bundler 是从您的应用程序的根目录启动的,因此它确保所有需要的 gem 都存在以使您的应用程序正常工作。如果由于某种原因您不再需要 gem,您将必须运行
gem uninstall gem_name
如上所述。因此,每次运行捆绑程序时,它都会重新检查依赖关系
编辑 - 2014 年 12 月 24 日
我看到人们不断提出这个问题,我决定添加一些内容。
我给出的答案是针对您将宝石维护为全局的情况。考虑使用 gem 管理器(例如 rbenv 或 rvm)来保持特定项目范围内的 gem 集。
这意味着不会在全局级别安装任何 gem,因此当您从项目的 Gemfile 中删除一个 gem 并重新运行包时,它显然不会被加载到您的项目中。然后,您可以运行bundle clean(使用项目目录),它将从系统中删除曾经从 Gemfile(在同一目录中)安装的所有那些 gem,但在给定时间不再在那里列出......长话短说 - 它会删除未使用的宝石。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)