'Nessun file da caricare - net / ssh' dal rotaie controller su Ubuntu
-
06-09-2019 - |
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?
Soluzione
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.