运行我的Sinatra应用程序时使用shotgun gem和msvcrt-ruby18.dll的错误

问候,

每当我对Sinatra应用程序进行更改时,我正在尝试刷新浏览器(位于http:// localhost:4567 / ),浏览器将刷新,控制台窗口似乎重新启动WEB brick服务器。 问题是浏览器窗口中的内容不会改变。

我的一个朋友告诉我这是一个霰弹枪问题并将我转介给rtomayko的霰弹枪gem:

http://github.com/rtomayko/shotgun

在这个页面上,我读到了猎枪gem基本上可以解决我的问题,允许我的应用程序的更改在刷新后显示在浏览器窗口中。 所以我安装了霰弹枪gem。 安装成功。 要激活霰弹枪function,您必须在文件名前键入霰弹枪 。 在这种情况下,我的Sinatra应用程序的文件名是shortener.rb

当我输入shotgun shortener.rb来运行我的Sinatra应用程序时,我收到此错误:

alt text http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaYEgDUI/AAAAAAAAArE/rr7uJE3dRj4/shotgun_error.png

我还应该提一下,在测试霰弹枪方法以确定它是否有效之前,我安装了杂种(我意识到我应该检查一下,在执行此操作之前,猎枪是否有效,因为安装mongrel会使这个问题复杂化) 。 因此,除了获取上面的错误消息之外,我还从Ruby.exe获取此弹出窗口

alt text http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaaWIZKI/AAAAAAAAArA/8qYCGUN8Wo4/msvcrt-ruby18.dll_error.png

我不知道msvcrt-ruby18.dll是什么,但我知道安装霰弹枪和/或mongrel会造成这个问题。

然后去哪儿?

谢谢,亚当

msvcrt-ruby18.dll错误是由Mongrel引起的。 当前版本1.1.5与Ruby 1.9不兼容,并在运行时抛出此错误。 这很容易解决 – 只需确保gem是最新的:

gem update --system 

然后安装新的预发布版本的Mongrel:

 gem install mongrel --pre