'No existe el fichero a cargar - net / ssh' de los carriles controlador en Ubuntu
-
06-09-2019 - |
Pregunta
I tiene un controlador muy simple:
require 'net/ssh'
class MyController < ApplicationController
def foo
render :text => 'bar'
end
end
Pero cuando solicito http: // servidor: 3000 / mi / foo me sale:
MissingSourceFile in MyController#foo
no such file to load -- net/ssh
se instala La gema
> gem list net-ssh
*** LOCAL GEMS ***
net-ssh (2.0.11)
Además, he intentado requerir 'net / ssh' en la IRB, y funciona.
myController funciona bien en Windows, pero fallan en Ubuntu.
¿Qué puede estar mal?
Solución
Otros consejos
En un proyecto que estoy trabajando se ha utilizado el archivo de configuración / environment.rb para sostener la gema requiere cosas. Así
Rails::Initializer.run do |config|
# ...
config.gem 'net-ssh'
config.gem 'daemons'
config.gem 'slave'
config.gem 'vpim'
config.gem 'json'
# ...
end
Creo que va a requerir 'red-ssh' en lugar de 'net / ssh'. Sin embargo, nos encontramos con un problema en el que tiene un guión en el nombre de la gema llevado a fracasos. Luego tuvimos que hacer
config.gem 'Ruby-IRC', :lib => 'IRC'
de manera que la versión posible que se requiera para usted. Por lo que sería
config.gem 'net-ssh', :lib => 'net/ssh'
en caso de carriles 3.0 esta solución si está bien. añadir esto en el yourapp / Gemfile,
gem 'net-ssh
En mi caso, ya que es una aplicación independiente de rubí, que sólo necesitaba para requerir rubygems.
También puede utilizar el Dr. Nic '' gemsonrails '' y cargar gemas vendored como plugins, verificar: http://gemsonrails.rubyforge.org
Creo que el problema original que utilicé usuario normal en lugar de la raíz:
$ 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.
Así que, supongo, los carriles no pudieron encontrar esta joya.