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

Ant*_*ony 6 rvm jenkins jenkins-pipeline

我试图在我的Jenkins文件中通过RVM使用ruby版本,如下所示:

sh 'rvm use ruby 2.3.1'
Run Code Online (Sandbox Code Playgroud)

但是,我相信上面的命令没有按预期执行,因为我收到此消息后

+ rvm use ruby 2.3.1
 RVM is not a function, selecting rubies with 'rvm use ...' will not work.
Run Code Online (Sandbox Code Playgroud)

我读了其他答案,建议添加#!/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
  '''
Run Code Online (Sandbox Code Playgroud)

Cli*_*ntm 4

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

您还可以在调用之前先获取 rvm rvm use

source /usr/local/rvm/scripts/rvm