是否可以自动识别 Rails 项目中不再使用的 Ruby gem?
例如,如果一位开发人员将 gem 'nokogiri' 添加到 Gemfile 中,以实现功能上的一部分,但现在已经删除了依赖于该 gem 的代码。我希望将我的整个项目移植到 jRuby,因此删除我们不再是一个非常明智的起点的 gem。
谢谢
是否可以自动识别 Rails 项目中不再使用的 Ruby gem?
例如,如果一位开发人员将 gem 'nokogiri' 添加到 Gemfile 中,以实现功能上的一部分,但现在已经删除了依赖于该 gem 的代码。我希望将我的整个项目移植到 jRuby,因此删除我们不再是一个非常明智的起点的 gem。
谢谢
通常宝石以特定的方式使用,因此对于每个宝石,您都必须手动查找模式。
例如,如果我必须确定是否使用了 Nokogiri,我会用它git grep
来查找 Nokogiri 的出现(我假设你使用 git):
git grep Nokogiri
如果没有返回任何内容,您可能没有使用它。
另一种方法是,如果您有一个测试套件,只需将其删除并查看是否有问题。并非万无一失,但如果您有良好的测试,它应该是一条非常安全的路径。
在 rubyforge 上有一个名为gem_unused的 gem 。它向“gem”添加了一个“未使用”命令。但是,我无法对此进行测试,因为它似乎在我的系统上失败了。(我是 Rails 世界的新手,所以也许这是其他人可以解决的问题。我在维护者的 github 上提出了一个问题)