当前位置:  开发笔记 > 编程语言 > 正文

Jenkins使用错误版本的Ruby(rvm)

如何解决《Jenkins使用错误版本的Ruby(rvm)》经验,为你挑选了1个好方法。

有下一个情况:

使用詹金斯

安装了不同红宝石版本的rvm(2+)

安装了rvm插件

使用ruby版本在"构建环境"中启用选项"在RVM管理的环境中运行构建" ruby-2.3.0@global

现在关于问题.每次jenkins工作开始后我都可以看到下一个输出:

Capturing environment variables produced by 'rvm use ruby-2.3.0@global'
$ bash -c export
[workspace] $ bash -c " source /usr/local/rvm/scripts/rvm && rvm use --install --create ruby-2.3.0@global && export > rvm.env"
Using /usr/local/rvm/gems/ruby-2.3.0 with gemset global
...

似乎一切都应该正常.但事实上jenkins使用ruby-2.2.0因为下面的日志我发现了这个:

+++ __path_to_ruby=/usr/local/rvm/rubies/ruby-2.2.0/bin/ruby
+++ [[ -z /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby ]]
+++ [[ /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby != \/\u\s\r\/\l\o\c\a\l\/\r\v\m* ]]
+++ [[ /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby == \/\u\s\r\/\l\o\c\a\l\/\r\v\m\/\b\i\n\/\r\u\b\y ]]
+++ [[ /usr/local/rvm/rubies/ruby-2.2.0/bin/ruby == \/\u\s\r\/\l\o\c\a\l\/\r\v\m* ]]
+++ [[ -z /usr/local/rvm/gems/ruby-2.2.0 ]]
+++ [[ -z /usr/local/rvm/gems/ruby-2.2.0:/usr/local/rvm/gems/ruby-2.2.0@global ]]
...

而下一个问题源于此:

Gem::InstallError: activesupport requires Ruby version >= 2.2.2.

此外,如果我ruby -v在"执行shell"区域中键入命令 - 然后在日志中我看到这一点

+ ruby -v
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]

我也尝试rvm use ruby-2.3.0直接在"执行shell"中启动命令.

我还把它添加到/var/lib/jenkis/.bashrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

并试图改变$HOME/.rvm/usr/local/rvm

但每次结果都一样.Jenkins不使用ruby-2.3.0

请帮我弄清楚我错过了什么?



1> aaaarrgh..:

我也遇到了这个问题.事实证明,如果以root身份安装rvm会出现问题.我们必须完全卸载rvm并重新安装为jenkins用户,之后插件正确加载了rubies.

您可以通过列出Jenkins的$ HOME变量指向的目录的内容来检测此问题.如果没有.rvm目录,则可能需要重新安装.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有