2010-04-15 11 views
5

Ktoś jeszcze gra z ironrubym?Uzyskiwanie aplikacji Railsowych pod szafką IronRuby

Udało mi się uruchomić projekt IronRuby.Rails.Example na mojej lokalnej maszynie w ramach IIS 5.1. Próbuję teraz uruchomić własną stronę demo rails w ten sam sposób.

Mój web.config różni się nieco od projektu przykładowego. Próbuję używać tylko tego, co zostało rozprowadzone przy pomocy IronRuby 1.0 i tego, co zainstalowałem, używając klejnotów.

otrzymuję następujący błąd, który nie daje mi dużo do zrobienia na:

D: /demo/config/boot.rb: 66: w `wyjścia": exit (SystemExit)

Po wypróbowaniu wielu różnych rzeczy, myślę, że ma problem ze znalezieniem klejnotów. Załączam moją konfigurację internetową i ironrack.log. Czy ktoś ma wskazówki na temat tego, co robię źle?

Dzięki!

<?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' 

Odpowiedz

3

exit to sposób programowo zamknąć w Ruby.

Ideą stojaka jest to, że jest to oprogramowanie pośrednie między ramami sieci ruby, a rzeczywistym serwerem aplikacji. Rozdzielenie tego sprawia, że ​​niezliczone frameworki ruby ​​(szyny, sinatra, ramaze itp.) Są ukierunkowane na pojedynczy interfejs, a niezliczone serwery aplikacji (kundle, apache z pasażerami, jednorożec itp.) Robią to samo. Wygląda na to, że faceci w podczerwieni próbują zdobyć stelaż pracujący z IIS. Zrobiłem szybkie wyszukiwanie go na szynach w konfiguracji szafy i znalazłem wyjście podobne do tego, co widzisz w metodzie serwera railsowego. Postanowiłabym dowiedzieć się, skąd to się bierze:

i spróbować zbliżyć się do tego, co jest w tym przewodniku. Jeśli nie możesz go tam zdobyć, spróbuję opublikować na liście mailingowej IR. Zwykle są dość przyjaźni, a ponieważ jest to w tej chwili rzeczą marginalną, mogą być jedynymi, którzy mają wystarczającą wiedzę, aby im pomóc.

Powodzenia :-)

+0

byłeś na dobrej drodze. Miałem zainstalowane oba klejnoty w wersji Rack 1.0.1 i 1.1.0. Odinstalowałem wersję 1.1.0, a teraz przechodzę do błędu routingu. Wygląda więc na to, że jestem na drodze do ponownego zaaranżowania. – NotMyself

+0

słodko, cieszę się, że mogłem pomóc :) –

+0

@NotMyself - Wygląda na to, że jestem na tej samej ścieżce, co ty; Wpadłem najpierw na problem z "wyjściem", a odinstalowanie 1.1.0 naprawiło to również dla mnie. Czy byłeś w stanie wykryć błąd routingu? –

Powiązane problemy