RVM不是一个函数,用'rvm use ...'选择rubies将无法使用jenkinsfile

时间:2017-03-30 04:29:15

标签: jenkins rvm jenkins-pipeline

我试图在我的Jenkins文件中通过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
  '''

1 个答案:

答案 0 :(得分:2)

#!/bin/bash -l作为脚本的第一行。它创建了一个登录shell。

您还可以在致电rvm use之前先获取rvm:

source /usr/local/rvm/scripts/rvm