Help us understand the problem. What is going on with this article?

Jenkinsでrvmを使おうとするとエラー

More than 5 years have passed since last update.

エラー内容 その1

+ rvm use
/tmp/hudson1166277874546094993.sh: line 3: rvm: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

JenkinsのRVMプラグインやJenkinsサーバへRVMをインストールしているにもかかわらず上記エラーが発生する。
以下のログが出力されているし、RVMは認識されてるはずだと思うのだが、自作のシェルはRVMを認識してくていない。

[workspace] $ bash -c " source /usr/local/rvm/scripts/rvm && rvm use --install --create 1.9.3 && export > rvm.env"
Using /usr/local/rvm/gems/ruby-1.9.3-p429

よくよく調査してみると、PATHにRVMが追加されていなかった。なんで?

+ env
~(省略)~
PATH=/sbin:/usr/sbin:/bin:/usr/bin

エラー内容 その2

PATHにRVMのパスを追加してみたが、今度は別のエラーが発生した。が、RVMは認識してくれるようにはなった。

+ PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/rvm/bin
+ export PATH
+ rvm use
RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

対処方法

デフォルトのシェルはshで動作するため、.bashrc等の読み込みができていなかったみたい。なので、bashで起動するためシバン(#!/bin/bash)を追加してあげればOK。あとは、.bash_profileの読み込みを追加。

#!/bin/bash
source ~/.bash_profile
bundle install

p.s.
これに1週間悩み苦しみました・・・。

h7kayama
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away