2013-03-13 6 views
5

से rbenv पर जाने के बाद जेनकिंस निष्पादित खोल में कमांड नहीं मिला I Ubuntu सर्वर पर RVM से rbenv में स्थानांतरित हो गया।rbenv: RVM

जब मैं आरवीएम का उपयोग करता हूं, तो बंडल का उपयोग करने में कोई परेशानी नहीं होती है। Rbenv पर जाने के बाद मुझे जेनकिन्स के निष्पादन खोल में "कमांड नहीं मिला" त्रुटि मिली।

मैंने आरएमवी को फंसाया और हटा दिया और ~/.bashrc 'से सभी आरवीएम संबंधित लाइनों को हटा दिया। मुझे अभी भी यह त्रुटि उपयोग करने के बाद मिलती है:

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) 

उत्तर

6

आपने अपने खोल में सही ढंग से rbenv इंस्टॉल किया है। हालांकि, यदि जेनकींस आपके ~/.bashrc को भी स्रोत नहीं करता है, तो यह नहीं पता होगा कि आपके सिस्टम पर rbenv है। तो जेनकींस में, आपको यह सुनिश्चित करना होगा कि आदेशों को निष्पादित करने के लिए आपके पथ में $HOME/.rbenv/bin और $HOME/.rbenv/shims शामिल हैं।

जेनकींस में eval "$(rbenv init -)" का उपयोग करने की आवश्यकता नहीं है; यह केवल इंटरैक्टिव गोले के लिए उपयोगी है।

0

@ mislav का जवाब शायद सही है, लेकिन क्या वास्तव में मेरे लिए काम किया यह था:

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

वास्तव में, मैं /usr/local/bin रूप rbenv नहीं देख रहा था मेरी $PATH में नहीं था।