У меня возникли проблемы при запуске команды Rails с удаленного сервера с использованием гема net-ssh , который предназначен для выполнения команд на удаленных серверах и получения ## Heading ## eir input.
Вот пример того, как он работает правильно (без запуска Rails):
# remote server
irb
2.3.7 :001 > require 'net/ssh'
=> true
2.3.7 :002 >
2.3.7 :003 > @hostname = "XX.XX.XXX.XXX"
=> "XX.XX.XXX.XXX"
2.3.7 :004 > @username = "ubuntu"
=> "ubuntu"
2.3.7 :005 > ssh = Net::SSH.start(@hostname, @username, :keys => "/home/user/Documents/aws_key.pem")
2.3.7 :006 > puts ssh.exec!("ls")
bin
cdrom
etc
sys
usr
var
proc
Ясно, что на этом этапе мой успех на другом сервере виден.Я подключен, и я могу запустить ls
, и он возвращается мне точно, что там.
Здесь у меня возникают проблемы, особенно когда я запускаю команду Rails.
puts ssh.exec!('cd /home/user/app && bin/rails runner "puts User.last.id"')
bash: rails: command not found
У меня установлены рельсы на сервере, на котором я ssh.У меня вопрос, как мне запускать команды rails, используя net-ssh gem?