class Gem::Doctor
清理部分卸载失败或无效的 Gem::Specification
后的残留。
如果规范被手动删除,这将删除任何剩余的文件。
如果安装了损坏的规范,这将通过删除错误的规范来清理警告。
公共类方法
new(gem_repository, dry_run = false) 点击切换源代码
创建一个新的 Gem::Doctor
,它将清理 gem_repository
。 一次只能清理一个 gem 仓库。
如果 dry_run
为 true,则不会删除任何文件或目录。
# File rubygems/doctor.rb, line 45 def initialize(gem_repository, dry_run = false) @gem_repository = gem_repository @dry_run = dry_run @installed_specs = nil end
公共实例方法
doctor() 点击切换源代码
清理已卸载的文件和无效的 gem 规范
# File rubygems/doctor.rb, line 69 def doctor @orig_home = Gem.dir @orig_path = Gem.path say "Checking #{@gem_repository}" Gem.use_paths @gem_repository.to_s unless gem_repository? say "This directory does not appear to be a RubyGems repository, " \ "skipping" say return end doctor_children say ensure Gem.use_paths @orig_home, *@orig_path end
gem_repository?() 点击切换源代码
我们正在清理一个 gem 仓库吗?
# File rubygems/doctor.rb, line 62 def gem_repository? !installed_specs.empty? end