1

问候,

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

我的一个朋友告诉我这是一个霰弹枪问题,并将我推荐给 rtomayko 的霰弹枪宝石:

http://github.com/rtomayko/shotgun

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

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

替代文字 http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaYEgDUI/AAAAAAAAArE/rr7uJE3dRj4/shotgun_error.png

我还应该提到,在测试霰弹枪方法是否有效之前,我安装了杂种(我意识到我应该在这样做之前检查霰弹枪是否有效,因为安装杂种使这个问题变得复杂)。因此,除了收到上面的错误消息之外,我还从 Ruby.exe 获得了这个弹出窗口

替代文字 http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaaWIZKI/AAAAAAAAArA/8qYCGUN8Wo4/msvcrt-ruby18.dll_error.png

我不知道msvcrt-ruby18.dll是什么,但我知道安装shotgun和/或mongrel会产生这个问题。

然后去哪儿?

谢谢,亚当

4

1 回答 1

3

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

gem update --system

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

gem install mongrel --pre
于 2010-08-06T23:37:15.900 回答