【问题标题】:Rubygems update fails on strange ruby versionsRubygems 更新在奇怪的 ruby​​ 版本上失败
【发布时间】:2017-02-06 23:52:08
【问题描述】:

我正在研究一个 gem (atd),我只是试图让 gitlab CI 在我的 gem 支持的所有 ruby​​ 版本(2.2.2 - 2.4.0)上运行我的测试,包括错误修复版本。我有an issue (GitLab CI pipline link, see versions > 2.3.0)rainbow gem 不适用于早于2.6.9 的rubygems 版本(当前的rubygems 版本是2.6.10),所以在我的gitlab ci 构建(基本上是docker 容器)中,我尝试运行gem update --systembundle install 之前,这消除了彩虹错误,但是在仅在 ruby​​ 版本 2.2.4 和 2.3.0 上运行gem update --system 时出现以下错误,这很奇怪,因为这两个版本之间有 2 个版本,2.2 .5 和 2.2.6:

来源:My GitLab CI pipeline

Running with gitlab-ci-multi-runner 1.10.4 (b32125f)
Using Docker executor with image ruby:2.2.4 ...
Pulling docker image ruby:2.2.4 ...
Running on runner-fa6cab46-project-1684988-concurrent-0 via runner-fa6cab46-machine-1486422765-ae1c6a3c-gce...
Cloning repository...
Cloning into '/builds/thesecretmaster/atd'...
Checking out ebe7405a as development...
Skipping Git submodules setup
$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux]
$ which ruby
/usr/local/bin/ruby
$ gem install rubygems-update
Successfully installed rubygems-update-2.6.10
1 gem installed
$ gem update --system
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory @ dir_chdir - /usr/local/bundle/gems/rubygems-update-2.6.3
Updating rubygems-update
Successfully installed rubygems-update-2.6.10
ERROR: Build failed: exit code 1

我认为这可能与升级前的 ruby​​gems 版本有关,但我不确定。我知道 ruby​​ 2.2.4 和 2.3.0 从 ruby​​gems 2.6.3 到 2.6.10 失败了。

这是通过和失败的表格:

ruby -v | initial gem -v | ci pass/fail
=======================================
2.2.2   | 2.4.8          | pass
2.2.3   | 2.5.0          | pass
2.2.4   | 2.6.3          | fail
2.2.5   | 2.6.8          | pass
2.2.6   | 2.6.10         | pass
2.3.0   | 2.6.3          | fail
2.3.1   | 2.6.8          | pass
2.3.2   | 2.6.8          | pass
2.3.3   | 2.6.10         | pass
2.4.0   | 2.6.10         | pass

【问题讨论】:

    标签: ruby docker rubygems gitlab-ci


    【解决方案1】:

    要满足gem update --system2.6.3 更新的渴望,您可以运行gem install rubygems-update --version 2.6.3,它会安装更新到2.6.3 的代码,然后您可以通过告诉它来强制它更新到正确的版本发送至gem update --system 2.6.10(2.6.10 是撰写本文时的当前 ruby​​gems 版本)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多