我运行了“gem sources -c
”,因此我必须故意指定我要安装gem的位置,因为我现在有3个不同的gem安装源 - RubyForge,Github和Gemcutter。
C:\>gem sources -c
*** Removed specs cache ***
*** Removed user source cache ***
*** Removed latest user source cache ***
*** Removed system source cache ***
*** Removed latest system source cache ***
运行此命令后,我再次运行gem sources
以确保我不再拥有任何默认来源,我得到了这个:
C:\>gem sources
*** CURRENT SOURCES ***
http://gems.rubyforge.org
http://gems.github.com
http://gems.rubyforge.org/
http://gemcutter.org
换句话说,没有任何改变。
查看下面gem sources -c
的帮助,似乎是一次删除所有宝石资源的正确命令:
-c, --clear-all Remove all sources (clear the cache)
否则,您似乎必须逐个删除它们。 没什么大不了的,因为我只有4个,但我想知道我实际删除的是“gem sources -c
”。
C:\>gem sources --help
Usage: gem sources [options]
Options:
-a, --add SOURCE_URI Add source
-l, --list List sources
-r, --remove SOURCE_URI Remove source
-c, --clear-all Remove all sources (clear the cache)
-u, --update Update source cache
Local/Remote Options:
-p, --[no-]http-proxy [URL] Use HTTP proxy for remote operations
Common Options:
-h, --help Get help on this command
-V, --[no-]verbose Set the verbose level of output
-q, --quiet Silence commands
--config-file FILE Use this config file instead of default
--backtrace Show stack backtrace on errors
--debug Turn on Ruby debugging
答案 0 :(得分:1)
对于每个源,rubygems保存有关每个源托管的gems的信息的本地缓存,以加快操作,并且该命令只是清除那些缓存。
查看rubygems源代码,在我的系统上,例如删除
C:/Users/Kris/.gem/specs
C:/Users/Kris/.gem/source_cache
C:/Users/Kris/.gem/latest_source_cache
C:/Ruby/lib/ruby/gems/1.8/source_cache
C:/Ruby/lib/ruby/gems/1.8/latest_source_cache
您仍然需要自己删除实际来源。