操作系统是 Debian,原来修改过 sources,改成了淘宝的镜像。今天要安装一个 gem,就 sudo gem install bindata
。结果好长时间没反应,加 -V
查看执行过程发现仍然是从 rubygems.org 下载。
$ gem sources
*** CURRENT SOURCES ***
http://ruby.taobao.org/
貌似没问题,想了想,尝试了一下下面的命令:
$ sudo gem sources
*** CURRENT SOURCES ***
https://rubygems.org/
原来问题在这。以前修改的只是普通用户的 source,当用以 root 身份执行 gem 时仍然使用默认的 source。我猜想这些配置应该是保存在用户主目录下吧。找了一下果然有一个 .gemrc
文件,里面确实有 sources 这一项。
找到了问题的根源,解决办法就很简单了,在 remove 和 add 两个 gem 命令前加 sudo 就好了。
$ sudo gem sources --remove https://rubygems.org/
$ sudo gem sources -a http://ruby.taobao.org/
$ sudo gem sources -l
*** CURRENT SOURCES ***
http://ruby.taobao.org
自己遇到的问题,不清楚该放到哪个板块。鉴于自己是个新手,就发到新手问题了。 淘宝的镜像没有明确指出这一点,可能会对想我这样的新手造成一定困惑,希望能添加一点说明。