'gem' 指定有效版本时失败

'gem' fails when valid version is specified

当我指定特定版本时,我无法安装 ruby gem 'sys-proctable':

$ /opt/chef/embedded/bin/gem install sys-proctable -v 0.9.6 --verbose --explain
HEAD https://api.rubygems.org/api/v1/dependencies
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=sys-proctable
200 OK
ERROR:  Could not find a valid gem 'sys-proctable' (= 0.9.6) in any repository
GET https://api.rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
200 OK
ERROR:  Possible alternatives: sys-proctable

但是,如果我没有明确指定版本,它可以工作,使用我之前尝试使用的完全相同的版本:

$ /opt/chef/embedded/bin/gem install sys-proctable --verbose --explain
HEAD https://api.rubygems.org/api/v1/dependencies
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=sys-proctable
200 OK
Gems to install:
  sys-proctable-0.9.6

使用冒号语法 (sys-proctable:0.9.6) 指定版本没有任何区别,或者使用 --platform universal-linux.

指定平台

当我直接下载 https://api.rubygems.org/api/v1/dependencies?gems=sys-proctable 时,linux 的 0.9.6 版本实际上存在。

有什么问题吗? gem的版本是2.4.4.

这对我有用:

gem install sys-proctable '0.9.6'

Chef 捆绑的 ruby​​gems 版本存在问题:https://github.com/chef/chef/issues/3033