2013-03-13 41 views
5

Tôi chuyển sang rbenv từ RVM trên Ubuntu Server.rbenv: lệnh không được tìm thấy trong Jenkins thực thi shell sau khi chuyển sang rbenv từ RVM

Khi tôi sử dụng RVM, không có sự cố khi sử dụng gói. Sau khi chuyển sang rbenv, tôi gặp lỗi "lệnh not found" trong shell thực thi của Jenkins.

Tôi đã kích hoạt và xóa RVM và xóa tất cả các dòng liên quan RVM khỏi ~/.bashrc '. Tôi vẫn gặp lỗi này sau khi sử dụng:

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) 

Trả lời

6

Có vẻ như bạn đã cài đặt đúng rbenv trong trình bao. Tuy nhiên, nếu Jenkins không nguồn của bạn ~/.bashrc là tốt, nó sẽ không được nhận thức có rbenv trên hệ thống của bạn. Vì vậy, trong Jenkins, bạn phải đảm bảo rằng PATH của bạn để thực hiện các lệnh cũng bao gồm $HOME/.rbenv/bin$HOME/.rbenv/shims.

Không cần sử dụng eval "$(rbenv init -)" trong Jenkins; điều đó chỉ hữu ích cho các trình tương tác.

0

@ câu trả lời Mislav có lẽ là đúng, nhưng những gì thực sự làm việc cho tôi là thế này:

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

Trong thực tế, tôi đã không nhìn thấy rbenv như /usr/local/bin là không $PATH tôi.

Các vấn đề liên quan