2010-07-25 11 views
3

J'essaie de faire construire une application Rails avec IronRuby fonctionnant sous IIS 7. J'ai suivi tout le tutoriel donné sur le site IronRuby mais je n'arrive pas à le faire fonctionner. L'application s'exécute bien sous WebBrick mais IIS ne semble pas l'héberger correctement. Voici la page que j'ai.IronRuby on Rails avec IIS 7

Error: exit 

C:/repositories/RampUp/ruby/RampUp/config/boot.rb:66:in `exit': exit (SystemExit) 
    from C:/repositories/RampUp/ruby/RampUp/config/boot.rb:66:in `load_rails_gem' 
    from C:/repositories/RampUp/ruby/RampUp/config/boot.rb:54:in `load_initializer' 
    from C:/repositories/RampUp/ruby/RampUp/config/boot.rb:38:in `run' 
    from C:/repositories/RampUp/ruby/RampUp/config/boot.rb:11:in `boot!' 
    from C:/repositories/RampUp/ruby/RampUp/config/boot.rb:110 
    from C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from C:/repositories/RampUp/ruby/RampUp/config/environment.rb:7 
    from C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from (eval):1 
    from C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval' 
    from C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize' 
    from (eval):0 
    from IronRuby.Rack:0:in `Rackup' 
    from IronRuby.Rack:0:in `.ctor' 
    from IronRuby.Rack:0:in `GetHandler' 
    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 `BeginProcessRequestNotification' 
    from System.Web:0:in `ProcessRequestNotificationPrivate' 
    from System.Web:0:in `ProcessRequestNotificationHelper' 
    from System.Web:0:in `ProcessRequestNotification' 
    from System.Web:0:in `MgdIndicateCompletion' 
    from System.Web:0:in `ProcessRequestNotificationHelper' 
    from System.Web:0:in `ProcessRequestNotification' 


Search paths 

C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/activerecord-2.3.8/bin 
C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/activerecord-2.3.8/lib 
C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/activesupport-2.3.8/bin 
C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/activesupport-2.3.8/lib 
C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/rake-0.8.7/bin 
C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/rake-0.8.7/lib 
C:/repositories/RampUp/ruby/RampUp 
C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/rack-1.2.1/bin 
C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8/gems/rack-1.2.1/lib 
C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/IronRuby/ 
C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/ruby/site_ruby/1.8/ 
C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/ruby/1.8/ 
. 

Gem paths 

C:/repositories/RampUp/ruby/RampUp/IronRuby/Lib/ironruby/gems/1.8 
C:/repositories/RampUp/ruby/RampUp/IronRuby/lib/ironruby/gems/1.8 

Voici mon web.config

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <section name="microsoft.scripting" type="Microsoft.Scripting.Hosting.Configuration.Section, Microsoft.Scripting" requirePermission="false"/> 
    </configSections> 
    <system.webServer> 
    <handlers> 
     <clear/> 
     <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="false"/> 
    </system.web> 
    <microsoft.scripting debugMode="true"> 
    <languages> 
     <language names="IronRuby;Ruby;rb" extensions=".rb" displayName="IronRuby 1.0" type="IronRuby.Runtime.RubyContext, IronRuby, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
    </languages> 
    <options> 
     <set language='Ruby' option="LibraryPaths" value=";..\IronRuby\lib\IronRuby\;..\IronRuby\lib\ruby\site_ruby\1.8\;..\IronRuby\lib\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="..\IronRuby\Lib\ironruby\gems\1.8"/> 
    <add key="RackEnv" value="development"/> 
    </appSettings> 
</configuration> 

et mon fichier config.ru

# RAILS_ROOT/config.ru 
require "config/environment" 

ENV['RAILS_ENV'] = 'development' 

use Rails::Rack::LogTailer 
use Rails::Rack::Static 
run ActionController::Dispatcher.new 

Je ne sais pas ce que je fais mal. Aucune suggestion?

+0

Existe-t-il une raison spécifique d'utiliser IronRuby et IIS? Vous aurez beaucoup moins de friction avec mongrel_service et quelque chose comme JRuby ou juste MRI sur Cygwin. Ensuite, vous pouvez utiliser Apache ou une fonctionnalité de proxy d'IIS s'il en a un. –

+0

J'ai un serveur DiscountASP.Net qui héberge d'autres applications .Net. Je voudrais l'utiliser pour ne pas avoir à acheter un autre pack d'hébergement. Ils hébergent uniquement des applications .Net. – Adam

+0

Y a-t-il un moyen d'héberger votre application sur Heroku? C'est gratuit. –

Répondre

2

Enfin obtenu. J'ai dû désinstaller Rails 2.3.8 et Rack 1.1 et installer Rails 2.3.5 et Rack 1.0.1. Je suppose que la version de IronRuby que je cours (1.0) a des problèmes avec la nouvelle version de rails. Quoi qu'il en soit, ça a marché après que je l'ai fait.