Pergunta

Eu tenho um controlador muito simples:

require 'net/ssh'

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

Mas quando eu solicitar http: // servidor: 3000 / minha / foo eu recebo:

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

A jóia está instalado

> gem list net-ssh

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

Além disso, eu tentei require 'net / ssh' no IRB, e ele funciona.

MyController funciona bem no Windows, mas não no Ubuntu.

O que pode estar errado?

Foi útil?

Solução

Esta ajuda pode:

Rails Gem Dependências e erros Plugin

Esta é também vale a pena assistir:

Railscasts: Gem Dependências

Outras dicas

Em um projeto que eu estou trabalhando em nós usamos o arquivo config / environment.rb para manter a gema exigem coisas. Então

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

Eu acho que você vai exigir 'net-ssh' em vez de '/ ssh net'. No entanto, não correr em um problema onde tem um hífen no nome da gem levou a falhas. Então nós tivemos que fazer

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

para que a versão talvez necessária para você. De modo que seria

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

em caso de Rails 3.0 esta solução se OK. adicione na yourapp / Gemfile,

gem 'net-ssh

No meu caso, já que é um aplicativo autônomo rubi, eu só precisava para exigir rubygems.

Você também pode usar do Dr. Nic '' gemsonrails '' e gemas de carga vendorizadas como plugins, verifique: http://gemsonrails.rubyforge.org

Eu acho que, o problema original era que eu usei usuário normal em vez de 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.

Então, eu acho, trilhos não poderia encontrar esta jóia.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top