'нет такого файла для загрузки - net / ssh' из rails Controller в Ubuntu - PullRequest
1 голос
/ 27 мая 2009

У меня очень простой контроллер:

require 'net/ssh'

class MyController < ApplicationController
    def foo
        render :text => 'bar'
    end
end

Но когда я запрашиваю http://server:3000/my/foo, я получаю:

MissingSourceFile in MyController#foo 
no such file to load -- net/ssh

Камень установлен

> gem list net-ssh

*** LOCAL GEMS ***
net-ssh (2.0.11)

Также я попытался потребовать 'net / ssh' в IRB, и это работает.

MyController отлично работает в Windows, но не работает в Ubuntu.

Что может быть не так?

Ответы [ 6 ]

3 голосов
/ 27 мая 2009

В проекте, над которым я работаю, мы использовали файл config / environment.rb для хранения необходимых для гемов вещей. Итак

Rails::Initializer.run do |config|
  # ...
  config.gem 'net-ssh'
  config.gem 'daemons'
  config.gem 'slave'
  config.gem 'vpim'
  config.gem 'json'
  # ...
end

Я думаю, вам понадобится net-ssh, а не net / ssh. Однако мы столкнулись с проблемой, когда дефис в названии драгоценного камня приводил к сбоям. Тогда мы должны были сделать

  config.gem 'Ruby-IRC', :lib => 'IRC'

так что эта версия может потребоваться для вас. Так что это будет

  config.gem 'net-ssh', :lib => 'net/ssh'
2 голосов
/ 09 августа 2011

для рельсов 3.0 это решение, если хорошо. добавьте это в yourapp / Gemfile,

gem 'net-ssh
1 голос
/ 08 сентября 2009

В моем случае, поскольку это отдельное приложение для рубинов, мне нужно было только требовать рубинов.

1 голос
/ 27 мая 2009

Это может помочь:

Зависимости в Rails Gem и ошибки плагинов

Это также стоит посмотреть:

Railscasts: Gem Dependencies

0 голосов
/ 28 мая 2009

Я думаю, оригинальная проблема заключалась в том, что я использовал обычного пользователя вместо root:

$ gem install net-ssh
  WARNING:  Installing to ~/.gem since /usr/lib/ruby/gems/1.8 and
            /usr/bin aren't both writable.
  WARNING:  You don't have /home/alex/.gem/ruby/1.8/bin in your PATH,
            gem executables will not run.

Итак, я думаю, рельсы не смогли найти этот драгоценный камень.

0 голосов
/ 27 мая 2009

Вы также можете использовать «Nic Geonsonrails» от Dr Nic и загружать продаваемые драгоценные камни в качестве плагинов, проверьте: http://gemsonrails.rubyforge.org

...