Команда rvm, ruby ​​не найдена в Rye gem - PullRequest
1 голос
/ 06 октября 2011

Я использую ruby ​​1.8 и у меня установлен gem https://github.com/delano/rye, который требует удаленного доступа ssh к amazone.

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/ruby-1.9.2-p290@global/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

Буду признателен, если кто-нибудь может помочь с этой проблемой.Спасибо заранее.

Ответы [ 3 ]

0 голосов
/ 15 апреля 2013

Попробуйте

instance.execute('source ~/.bash_profile && rvm list')
0 голосов
/ 18 апреля 2019

Если кто-то найдет это полезным, так как это старый вопрос -

Для оболочки без регистрации пути пользователя и переменные среды не загружаются.

Мне нужно было добавить этов моем .bashrc файле прямо в самом верху.

[[ -s "/home/douser/.rvm/scripts/rvm" ]] && source "/home/douser/.rvm/scripts/rvm"

0 голосов
/ 07 октября 2011

Держу пари, у вас нет загрузки rvm, потому что она либо не загружает ваш локальный файл .bashrc, либо у вас нет строки загрузки RVM (линии поиска) в вашем .bashrc, а в вашем .bash_profile. Просто переместите строку RVM на ваш .bashrc и затем поставьте .bashrc в конец вашего .bash_profile.

Если он вызывает bash в режиме, совместимом с sh, то вы можете установить BASH_ENV в вашем .profile и указать его на ваш .bashrc, который затем будет загружать RVM таким образом.

...