2011-10-06 47 views
1

我使用的是ruby 1.8,並且安裝了gem https://github.com/delano/rye,它需要將遠程ssh安裝到amazone。在Rye gem中找不到rvm,ruby命令

require 'rubygems' 
require 'rye' 

instance = Rye::Box.new('amazone_ip', :user => "ubuntu", :safe => false, :keys => "amazone_key") 

我通過運行這些命令

instance.execute 'rvm list' #bash: rvm: command not found 
instance.execute 'ruby -v' #bash: ruby: command not found 

它的確定,如果我跑instance.execute 'LS -la' 命令有錯誤報道。 我想有一個與$ PATH負載的問題,我已經檢查了它

instance.execute 'echo $PATH' 
#[/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games, , 0, ] 

#But it's in server: 
$echo $PATH 
#/home/ubuntu/.rvm/gems/ruby-1.9.2-p290/bin:/home/ubuntu/.rvm/gems/[email protected]/bin:/home/ubuntu/.rvm/rubies/ruby-1.9.2-p290/bin:/home/ubuntu/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

我將不勝感激,如果任何人都可以幫助解決這個問題。 謝謝先進。

回答

0

我會打賭你沒有rvm加載,因爲它沒有加載你的本地.bashrc,或者你的.bashrc沒有RVM加載行(sourcing line),它在你的.bash_profile中。只需將RVM行移動到.bashrc中,然後在.bash_profile結尾處獲取.bashrc。

如果sh兼容模式調用它的慶典,那麼您可以在您的.profile文件設置BASH_ENV,並在你的.bashrc指向它,然後將加載RVM的方式。

+0

RVM負載,但在使用黑麥連接它不會在服務器上加載RVM命令。你能給我更多關於解決方案的細節嗎? –

+0

我害怕我不能。我從來沒有用過黑麥。 – ddd

0

嘗試在我的本地的.bashrc

instance.execute('source ~/.bash_profile && rvm list')