我试图在我的 Jenkinsfile 中通过 RVM 使用一个 ruby 版本,如下所示:
sh 'rvm use ruby 2.3.1'
但是,我相信上面的命令没有按照预期执行,因为我在它之后收到了这条消息
+ rvm use ruby 2.3.1
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
我阅读了其他建议添加
#!/bin/bash -xl
的答案,但是,我正在使用它来自 Jenkinsfile
而不是 bash 脚本。有没有办法解决这个问题?我只想将 ruby 设置为 2.3.1,然后运行一个命令。
我也试过使用
create default
但仍然打印的 ruby 版本是 2.0.0 sh '''
#!/bin/bash -xl
echo $PATH
rvm install ruby-2.3.1
rvm alias create default 2.3.1 && ruby --version
ruby --version
'''
最佳答案
把 #!/bin/bash -l
作为脚本的第一行。它创建了一个登录 shell 。
您也可以在调用 rvm use
之前先获取 rvm :source /usr/local/rvm/scripts/rvm
关于jenkins - RVM 不是函数,从 jenkinsfile 中选择 'rvm use ...' 的 ruby 将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43108600/