「をロードするためにはそのようなファイルません - ネット/ SSH」Ubuntuの上のレールコントローラから

StackOverflow https://stackoverflow.com/questions/915673

質問

私は非常に単純なコントローラを持っています:

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)

また、私はIRBの 'ネット/ ssh' を必要と試みたが、それが動作します。

MyControllerは、Windows上で正常に動作しますが、Ubuntuの上で失敗します。

何が間違っていることができますか?

役に立ちましたか?

解決

これが役立つことがあります:

Railsの宝石の依存関係そしてプラグインエラー

これも一見の価値あります:

:宝石依存する

他のヒント

私たちに取り組んでいたプロジェクトでは、ものを必要と宝石を保持するための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の場合 OKであれば、このソリューション。

、yourapp / Gemfileに以下を追加
gem 'net-ssh
それは、スタンドアローンルビーアプリですので、

私の場合、私は唯一のRubyGemsを必要とするために必要な。

またチェックし、博士NICの「」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