さて、私は「ラック」を介して単純な 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 実行可能ファイルで構成されています。どんな提案でも大いに役立ちます!