Getting Rails Application Running Under IronRuby Rack
- by NotMyself
Anyone else playing with ironruby?
I have successfully got the IronRuby.Rails.Example project running on my local machine under IIS 5.1. I am now attempting to get my own demo rails site running in the same way.
My web.config is slightly different from the example project. I am attempting to only use what was distributed with IronRuby 1.0 and what I have installed using gems.
I am getting the following error which doesn't give me a lot to go on:
D:/demo/config/boot.rb:66:in `exit':
exit (SystemExit)
After trying many different things, I think it is having a problem finding gems. I have attached my web config and ironrack.log. Does anyone have pointers on what I am doing wrong?
Thanks!
<?xml version="1.0"?>
<configuration>
<configSections>
<!-- custom configuration section for DLR hosting -->
<section name="microsoft.scripting" type="Microsoft.Scripting.Hosting.Configuration.Section, Microsoft.Scripting" requirePermission="false"/>
</configSections>
<system.webServer>
<handlers>
<!-- clear all other handlers first. Don't do this if you have other handlers you want to run -->
<clear/>
<!-- This hooks up the HttpHandler which will dispatch all requests to Rack -->
<add name="IronRuby" path="*" verb="*" type="IronRuby.Rack.HttpHandlerFactory, IronRuby.Rack" resourceType="Unspecified" requireAccess="Read" preCondition="integratedMode"/>
</handlers>
</system.webServer>
<system.web>
<!-- make this true if you want to debug any of the DLR code, IronRuby.Rack, or your own managed code -->
<compilation debug="true"/>
<httpHandlers>
<!-- clear all other handlers first. Don't do this if you have other handlers you want to run -->
<clear/>
<!-- This hooks up the HttpHandler which will dispatch all requests to Rack -->
<add path="*" verb="*" type="IronRuby.Rack.HttpHandlerFactory, IronRuby.Rack" />
</httpHandlers>
</system.web>
<!-- DLR configuration. Set debugMode to "true" if you want to debug your dynamic language code with VS -->
<microsoft.scripting debugMode="false">
<options>
<!-- Library paths: make sure these paths are correct -->
<!--<set option="LibraryPaths" value="..\..\..\Languages\Ruby\libs\;
..\..\..\..\External.LCA_RESTRICTED\Languages\Ruby\ruby-1.8.6p368\lib\ruby\site_ruby\1.8\;
..\..\..\..\External.LCA_RESTRICTED\Languages\Ruby\ruby-1.8.6p368\lib\ruby\1.8\"/>-->
<set option="LibraryPaths" value="C:\IronRuby\lib\IronRuby;C:\IronRuby\lib\ruby\1.8;C:\IronRuby\lib\ruby\site_ruby;C:\IronRuby\lib\ruby\site_ruby\1.8"/>
</options>
</microsoft.scripting>
<appSettings>
<add key="AppRoot" value="."/>
<add key="Log" value="ironrack.log"/>
<!-- <add key="GemPath" value="..\..\..\..\External.LCA_RESTRICTED\Languages\Ruby\ruby-1.8.6p368\lib\ruby\gems\1.8"/> -->
<add key="GemPath" value="C:\IronRuby\Lib\ironruby\gems\1.8\gems"/>
<add key="RackEnv" value="production"/>
</appSettings>
</configuration>
=== Booting ironruby-rack at 4/15/2010 1:27:12 PM [DEBUG] >>> TOPLEVEL_BINDING = binding
=> Setting GEM_PATH: 'C:\\IronRuby\\Lib\\ironruby\\gems\\1.8\\gems'
=> Setting RACK_ENV: 'production'
=> Loading RubyGems [DEBUG] >>> require 'rubygems'
=> Loading Rack >=1.0.0 [DEBUG] >>> gem 'rack', '>=1.0.0';require 'rack'
=> Loaded rack-1.1
=> Application root: 'D:\\demo'
=> Loading Rack application [DEBUG] >>> Rack::Builder.new { (
require "config/environment"
ENV['RAILS_ENV'] = 'development'
use Rails::Rack::LogTailer
use Rails::Rack::Static
run ActionController::Dispatcher.new
) }.to_app exit
D:/demo/config/boot.rb:66:in `exit': exit (SystemExit)
from D:/demo/config/boot.rb:66:in `load_rails_gem'
from D:/demo/config/boot.rb:54:in `load_initializer'
from D:/demo/config/boot.rb:38:in `run'
from D:/demo/config/boot.rb:11:in `boot!'
from D:/demo/config/boot.rb:110
from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from D:/demo/config/environment.rb:7
from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from (eval):1
from C:/IronRuby/lib/ironruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb:46:in `instance_eval'
from C:/IronRuby/lib/ironruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb:46:in `initialize'
from (eval):0
from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\RubyEngine.cs:52:in `Execute'
from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\RubyEngine.cs:45:in `Execute'
from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\Application.cs:68:in `Rackup'
from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\Application.cs:32:in `.ctor'
from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\HttpHandlerFactory.cs:37:in `GetHandler'
from System.Web:0:in `MapHttpHandler'
from System.Web:0:in `System.Web.HttpApplication.IExecutionStep.Execute'
from System.Web:0:in `ExecuteStep'
from System.Web:0:in `ResumeSteps'
from System.Web:0:in `System.Web.IHttpAsyncHandler.BeginProcessRequest'
from System.Web:0:in `ProcessRequestInternal'
from System.Web:0:in `ProcessRequestNoDemand'
from System.Web:0:in `ProcessRequest'