当我指定特定版本时,我无法安装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时,实际上存在版本0.9.6 for linux。
可能有什么不对? gem
的版本是2.4.4。
答案 0 :(得分:1)
这对我有用:
gem install sys-proctable '0.9.6'
答案 1 :(得分:0)
Chef捆绑的rubygems版本存在问题:https://github.com/chef/chef/issues/3033