Application Sinatra:
require "rubygems"
require "sinatra"
get "/" do
"Hello world. It"s #{Time.now} at the server!"
end
Windows XP avec la dernière version de bâtard, sinatra, fusil de chasse. rubis 1.8.6
l'exécution de shotgun test_app.rb entraîne
C:Filessitessinatra>shotgun test.rb
== Shotgun starting Rack::Handler::Mongrel on localhost:9393
Thu Dec 03 16:51:37 -0800 2009: Read error: #<NotImplementedError: fork() functi
on is unimplemented on this machine>
c:/ruby/lib/ruby/gems/1.8/gems/shotgun-0.4/lib/shotgun.rb:26:in `fork"
c:/ruby/lib/ruby/gems/1.8/gems/shotgun-0.4/lib/shotgun.rb:26:in `call!"
c:/ruby/lib/ruby/gems/1.8/gems/shotgun-0.4/lib/shotgun.rb:15:in `call"
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/content_length.rb:13:in `call"
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/chunked.rb:15:in `call"
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/mongrel.rb:61:in `process"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:159:in `process_client"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:in `each"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:in `process_client"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `run"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `initialize"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `new"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `run"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `initialize"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `new"
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `run"
c:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/mongrel.rb:34:in `run"
c:/ruby/lib/ruby/gems/1.8/gems/shotgun-0.4/bin/shotgun:129
c:/Ruby/bin/shotgun:19:in `load"
c:/Ruby/bin/shotgun:19
Une idée sur la façon de résoudre ce problème? Je vous remercie!
Réponses:
1 pour la réponse № 1Le mieux que je puisse faire est de vous indiquer un autre fil à ce sujet. Shotgun nécessite une fourche disponible uniquement sur les systèmes * nix. Il y a même un peu de savoir comment le faire en natif si vous avez envie de soumettre un patch.
1 pour la réponse № 2
Un moyen facile à utiliser est d'utiliser sinatra / rechargeur. Installez le sinatra / contrib Gem et ajoutez l'extension à votre fichier principal:
require "sinatra/reloader"
Fonctionne bien sous Windows 8.1.
0 pour la réponse № 3
Vous pouvez essayer le redémarrer gem - il était destiné à être utilisé sous Windows, il n'utilisait donc pas fork()
. Dans votre exemple, vous remplacez simplement fusil à pompe avec redémarrer ruby, comme ça:
restart ruby test_app.rb
Voir ici pour plus d'informations - espérons que cela fonctionne pour vous :)