2013-03-13 12 views
5

Przeniosłem się do rbenv z RVM na serwerze Ubuntu.rbenv: polecenie nie znaleziono w Jenkinsie wykonaj powłokę po przeniesieniu do rbenv z RVM

Kiedy używam RVM, nie ma problemu z używaniem pakietu. Po przejściu do rbenv dostałem błąd "command not found" w powłoce exec Jenkins.

I implodował i usunął RVM i usunął wszystkie linie powiązane z RVM z ~/.bashrc '. Nadal dostaję ten błąd po użyciu:

rvm implode 
rm ~/.rvm -rf 
rm ~/.rvmrc 

gem install bundler 
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc 
echo 'eval "$(rbenv init -)"' >> ~/.bashrc 

. ~/.bashrc 

rbenv versions 

[email protected]:~/jobs/myjob/workspace$ rbenv versions 

* 1.9.3-p374 (set by RBENV_VERSION environment variable) 

Odpowiedz

6

Wygląda na to, że poprawnie zainstalowałeś rbenv w swojej powłoce. Jeśli jednak Jenkins nie wykręci twojego ~/.bashrc, nie będzie świadomy, że w Twoim systemie jest rbenv. Tak więc w Jenkins, musisz upewnić się, że twoja PATH do wykonywania poleceń zawiera także $HOME/.rbenv/bin i .

Nie ma potrzeby używania eval "$(rbenv init -)" w Jenkins; Jest to użyteczne tylko w przypadku powłok interaktywnych.

0

@ odpowiedź Mislav jest prawdopodobnie rację, ale co faktycznie pracował dla mnie było to:

sh ''' 
#!/bin/bash 
export PATH=$PATH:/usr/local/bin:$HOME/.rbenv/bin:$HOME/.rbenv/shims 
eval "$(rbenv init -)" 
rbenv local 
rbenv rehash 
''' 

W rzeczywistości, nie widząc rbenv jak /usr/local/bin nie było w moim $PATH.

Powiązane problemy