4

さて、私は「ラック」を介して単純な Web サーバーを実行しようとしています。これが私のプログラムです:

require 'rubygems'
require 'rack'

class HelloWorld
  def call(env)
    [200, {"Content-Type" => "text/html"}, ["Hello Rack!"]]
  end
end

Rack::Handler::Mongrel.run HelloWorld.new, :Port => 9292

コンソールで実行すると、正常に動作します。Eclipse で実行すると、エラーが発生します。

/Users/MY_SUPER_SECRET_USER/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- rack (LoadError)
    from /Users/MY_SUPER_SECRET_USER/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/MY_SUPER_SECRET_USER/Sites/service/service.rb:2:in `<main>'

機能しているものは次のように呼び出されます。

MY_SUPER_SECRET_USER@MacBook-Pro:~/Sites/service $ which ruby
/Users/MY_SUPER_SECRET_USER/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
MY_SUPER_SECRET_USER@MacBook-Pro:~/Sites/service $ ruby service.rb

次に、開こうとするlocalhost:9292と、予想される「Hello Rack」コードが表示されます。

私はMac OS X 10.8を使用しており、rvmを介してruby 1.9.3がインストールされています(これは明らかです)。私の「ラック」パッケージはでインストールされましたsudo gem install rack

ご覧のとおり、Eclipse はまったく同じ Ruby 実行可能ファイルで構成されています。どんな提案でも大いに役立ちます!

4

2 に答える 2

0

この線

custom_require.rb:36:in `require': cannot load such file -- rack (LoadError)

ラックジェムをインストールした場所が見つからないことを意味します。インターネットを読んでいると、何度も何度も使用sudoしているように見えます。それをインストールしてみて、それが修正されるかどうかを確認してください。

$ gem install rack(須藤なし)

于 2012-10-30T10:09:26.920 に答える