Domanda

Ho un controller molto semplice:

require 'net/ssh'

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

Ma quando chiedo http: // server: 3000 / mio / pippo ottengo:

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

è installato La gemma

> gem list net-ssh

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

Inoltre, ho provato require 'net / ssh' in IRB, e funziona.

MyController funziona bene su Windows, ma non riescono su Ubuntu.

Che cosa può essere sbagliato?

È stato utile?

Soluzione

Questo può aiutare:

Rails Gem Dipendenze ed errori plugin

Questa è anche la pena di guardare:

Railscasts: Gem Dipendenze

Altri suggerimenti

In un progetto cui sto lavorando che abbiamo usato il file di configurazione / environment.rb per tenere la gemma richiede roba. Quindi

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

Credo che sarà necessario 'net-ssh' piuttosto che 'net / ssh'. Tuttavia abbiamo fatto correre in un problema in cui hanno un trattino nel nome della gemma portato a fallimenti. Poi abbiamo dovuto fare

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

in modo che la versione forse necessario per voi. In modo che sarebbe

  config.gem 'net-ssh', :lib => 'net/ssh'

in caso di Rails 3.0 questa soluzione se OK. aggiungere questo nel yourapp / Gemfile,

gem 'net-ssh

Nel mio caso, dal momento che è un'applicazione stand-alone rubino, ho solo bisogno di richiedere RubyGems.

È inoltre possibile utilizzare il dottor Nic '' gemsonrails '' e caricare le gemme vendored come plugin, controllare: http://gemsonrails.rubyforge.org

Credo che, il problema originale era che ho usato normale utente invece di 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.

Quindi, credo, rotaie non riuscivano a trovare questo gioiello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top