频繁出现Gem RemoteFetcher :: FetchError.任何解决方法?

Eth*_*han 7 ruby rubygems ruby-on-rails ruby-on-rails-3

过去几天我每天都经常收到这个错误...

$ gem install rails -v 3.2.1
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    bad response Forbidden 403 (http://production.cf.rubygems.org/gems/rdoc-3.12.gem)
Run Code Online (Sandbox Code Playgroud)

之前基于前一个问题的理解是,这是由于远程存储库存在问题而解决方案是等待一段时间再试一次.实际上,有时当我等待几个小时或一夜之间安装命令有效.

但是,我希望获得更可靠的体验.

我想过下载等文件rails-3.2.1.gem,然后运行......

$ gem install --local ~/Desktop/rails-3.2.1.gem
Run Code Online (Sandbox Code Playgroud)

但那给了我......

$ gem install --local ~/Desktop/rails-3.2.1.gem 
ERROR:  While executing gem ... (Gem::DependencyError)
    Unable to resolve dependencies: rails requires railties (= 3.2.1)
Run Code Online (Sandbox Code Playgroud)

我可以尝试下载铁路.也许我会.但是我感觉到一个兔子洞陷入了一整天的依赖之后寻找依赖.

任何其他有效的安装宝石的方法?我可以通过我的存储库规范做些什么来让gem安装更可靠吗?


$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.15
  - RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.2.0]
  - INSTALLATION DIRECTORY: /Users/ethan/.rvm/gems/ruby-1.9.2-p290@rails_3_for_mtc
  - RUBY EXECUTABLE: /Users/ethan/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/ethan/.rvm/gems/ruby-1.9.2-p290@rails_3_for_mtc/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /Users/ethan/.rvm/gems/ruby-1.9.2-p290@rails_3_for_mtc
     - /Users/ethan/.rvm/gems/ruby-1.9.2-p290@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://rubygems.org"]
     - "gem" => "--no-rdoc --no-ri"
     - "install" => "--no-rdoc --no-ri"
     - "update" => "--no-rdoc --no-ri"
  - REMOTE SOURCES:
     - http://rubygems.org
Run Code Online (Sandbox Code Playgroud)

Mik*_*das 16

确保您的rvmssl证书是最新的.

检查他们的状态

$ rvm osx-ssl-certs status all
Run Code Online (Sandbox Code Playgroud)

更新他们!

$ rvm osx-ssl-certs update all
Run Code Online (Sandbox Code Playgroud)


小智 12

你必须添加" http://rubygems.org ",

但在此之前删除https源,因为它将卡在证书错误并添加http.


所以步骤将是:

  1. gem sources - 检查来源
  2. gem sources -a http://rubygems.org/ - 将添加http源
  3. gem sources --remove https://rubygems.org/ - 将删除https源


Abe*_*ker 7

有没有在你的来源中使用RubyGems的原因?如果没有,请添加

gem sources -a http://rubygems.org
Run Code Online (Sandbox Code Playgroud)

然后再试一次.


Eth*_*han 0

我最后做的是将 rdoc 3.12 gem 下载到我的桌​​面(基于原始错误),然后安装它......

$ gem install --local ~/Desktop/rdoc-3.12.gem
Run Code Online (Sandbox Code Playgroud)

然后我$ gem install rails又跑了,终于成功了。