Кто-либо еще играющий с ironruby?
Я успешно получил IronRuby. Направляющие. Работа проекта в качестве примера моей локальной машины под IIS 5.1. Я теперь пытаюсь получить свой собственный демонстрационный сайт направляющих, работающий таким же образом.
Мой web.config немного отличается из проекта в качестве примера. Я пытаюсь только использовать то, что было распределено с IronRuby 1.0 и что я установил драгоценные камни использования.
Я получаю следующую ошибку, которая не дает мне много для продолжения:
D:/demo/config/boot.rb:66:in 'выход': выход (SystemExit)
После попытки многих разных вещей я думаю, что она имеет проблему при нахождении драгоценных камней. Я присоединил свою веб-конфигурацию и ironrack.log. У кого-либо есть указатели на том, что я делаю неправильно?
Спасибо!
<?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'
exit - это способ программного выхода в ruby.
Идея стойки заключается в том, что это промежуточное ПО между веб-фреймворками ruby и реальным сервером приложений. Разъединяя это, он позволяет мириадам рубиновых фреймворков (rails, sinatra, ramaze и т. Д.) Нацеливаться на один интерфейс, а мириады серверов приложений (mongrel, apache с пассажиром, unicorn и т. Д.) Делают то же самое. Похоже, что ребята из IR пытаются заставить работать стойку с IIS. Я быстро поискал в Google рельсы в конфигурации стойки и обнаружил , что на этой странице
вывод похож на то, что вы видите в методе рельсового сервера. Я бы попытался выяснить, откуда это взялось
require "config/environment"
ENV['RAILS_ENV'] = 'development'
use Rails::Rack::LogTailer
use Rails::Rack::Static
run ActionController::Dispatcher.new
) }.to_app exit
, и попытаться приблизить его к тому, что указано в этом руководстве. Если вы не можете получить его там, я бы попробовал разместить его в списке рассылки IR. Они, как правило, довольно дружелюбны, и, поскольку на данный момент это такая мелочь, они могут быть единственными, у кого достаточно опыта, чтобы помочь.
Удачи: -)