我有一个很简单的控制器:

require 'net/ssh'

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

但是,当我要求的http://服务器:3000 /我的/ foo的我得到:

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

安装宝石

> gem list net-ssh

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

另外,我试图需要的净/ SSH'在IRB,和它的工作原理。

在myController的视窗工作正常,但无法在Ubuntu。

什么可能是错的?

有帮助吗?

解决方案

这可有助于:

滑轨Gem依赖和插件错误

这也是值得关注:

Railscasts:Gem依赖

其他提示

在一个项目,我的工作,我们已经使用了的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

我想你会需要“净SSH”而不是“净/ SSH”。然而,我们没有碰到哪里有导致故障的宝石的名字连字符的问题。然后,我们不得不这样做。

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

让版本可能需要你。所以这将是

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

在轨道3.0的情况下 此解决方案,如果确定。 在yourapp添加此/ Gemfile中,

gem 'net-ssh

在我的情况下,因为它是一个独立的应用程序的红宝石,我只需要要求RubyGems的。

您也可以使用医生尼克的'gemsonrails“”并载入vendored宝石作为插件,请检查: http://gemsonrails.rubyforge.org

我认为,原来问题是,我使用的普通用户,而不是根:

$ 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.

所以,我想,导轨找不到这块宝石。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top