Ruby on rails - не удается загрузить такой файл net/ssh

уже несколько дней мучаюсь..

Когда я пытаюсь вызвать метод в помощнике из представления для выполнения ssh, он выдает эту ошибку.

"Эта ошибка произошла при загрузке следующих файлов: net/ssh"

Но когда я копирую код в файл test.rb и запускаю его из подсказки ruby test.rb, он подключается безупречно.

В чем может быть проблема ? Пробовал на другом компе и тот же результат.

Большое спасибо, это похоже на последний шаг, прежде чем я смогу завершить свой проект!

С уважением,

application_helper.rb:

module ApplicationHelper
  def title(value)
    unless value.nil?
      @title = "#{value} | Eucc"      
    end
  end
  def execute
    require 'rubygems'
    require 'net/ssh'
    @hostname = "smtlmon02"
    @username = "gcaille"
    @password = "qaz1234"
    @cmd = "ls -al"
    @cmd2 = "sudo su - -c 'ls;date'"

    ssh = Net::SSH.start(@hostname, @username, :password => @password)
    res = ssh.exec!(@cmd)
    res2 = ssh.exec!(@cmd2)

    ssh.close
    File.open("output.txt", 'w') {|file| file.write(res2)}
  end
end

person Guillaume Caillé    schedule 18.03.2014    source источник
comment
Вы установили гем net-ssh?   -  person MikeZ    schedule 18.03.2014
comment
Да, гем установил net-ssh. Как я уже сказал, если я запускаю этот скрипт из командной строки, он работает.   -  person Guillaume Caillé    schedule 18.03.2014
comment
Я изменил require 'net/ssh' на require 'net-ssh' и те же результаты: не могу загрузить такой файл -- net-ssh, и я сделал это снова: C:\Users\guillaume.caille>gem install net-ssh Успешно установил сеть -ssh-2.8.0 1 gem установлен Установка документации ri для net-ssh-2.8.0... Установка документации RDoc для net-ssh-2.8.0...   -  person Guillaume Caillé    schedule 18.03.2014
comment
Он добавлен в ваш gemfile? Просто интересно, так как вы показали нам установку его в коробку.   -  person agmcleod    schedule 18.03.2014
comment
Не могли бы вы опубликовать полную трассировку стека ошибки? Также helper не место для этого метода. Вероятно, вам следует переместить его в модель или какую-либо утилиту.   -  person usha    schedule 18.03.2014
comment
Его нет в файле с именем gemfile в корне моего проекта. Должен ли я добавить это таким образом? гем 'net-ssh', '~› 2.8.0'   -  person Guillaume Caillé    schedule 18.03.2014
comment
Полная трассировка стека на 10 000 символов слишком длинна, чтобы ее здесь размещать.   -  person Guillaume Caillé    schedule 18.03.2014
comment
Спасибо !! Я добавил эту строку в свой gemfile и выполнил установку пакета. он добавил net-ssh и теперь работает.   -  person Guillaume Caillé    schedule 18.03.2014


Ответы (2)


Вам просто нужно добавить его в Gemfile следующим образом:

gem 'net-ssh'

и после этого запустите установку пакета.

person Sergey Moiseev    schedule 18.03.2014

Возможно, вам также потребуется перезапустить IDE. У меня была эта проблема с Net::SFTP, и решение Сергея Моисеева отлично сработало, но мне пришлось перезапустить IDE после установки пакета.

person Nash Stewart    schedule 06.03.2018