我在安装Ruby on Rails时遇到很大麻烦。
我用apt-get安装了Ruby当我尝试安装Ruby Gems时,安装程序一直无限期地挂起来安装ri,所以我尝试从源代码安装Ruby。我有同样的问题,所以我安装了没有ri或RDoc的Ruby Gems。我不知道这是否与下面的问题有关。
当我继续尝试通过Gems安装Rails时,我首先遇到一个错误,Ruby无法找到zlib.so ...所以我将zlib.so复制到了Ruby所期望的位置。
从strace的输出来看,看起来Ruby正在寻找
/usr/local/lib/ruby/1.8/x86_64-linux/zlib.so
但是zlib.so只位于
/usr/lib/ruby/1.8/x86_64-linux/zlib.so
现在我收到一个新错误:
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SocketError: getaddrinfo: Name or service not known (http://gems.rubyforge.org/gems/actionmailer-2.2.2.gem)
我感觉有些事情是非常错误的。我该怎么做才能改善这个错误?
答案 0 :(得分:4)
我自己刚遇到这个问题,并发现了这个网站: http://www.typeoneerror.com/articles/post/updating-rails-error
建议使用-p开关(它适用于install
和update
命令。
我不知道怎么或为什么(也许其他人可以解释它?),但它确实对我有用。有时候,如果它失败了,只要再次尝试再次运行它,它似乎会在特定宝石上再次尝试之后通过它。
答案 1 :(得分:0)
关于getaddrinfo
错误,这可能意味着您的计算机无法解析localhost或其主机名。可能值得检查您的/etc/hosts
文件以完成。如果我的机器的主机名是bob
且我的完全限定域名是example.com
,我将检查以下条目:
127.0.0.1 example.com bob
答案 2 :(得分:0)
以下是解决这个问题的原因:
gem update --system
- >得到NoMethodError
然后gem update
- >现在工作正常。