当\'require\'coffee-script\'`时,无法使用Ctrl + C停止Sinatra

问题描述

|| 我在64位Ubuntu 11.04上运行Ruby 1.9.2p180。 我有使用Sinatra的最简单的CoffeeScript示例,该示例运行良好,但按ѭ0快捷键并不会停止。所以每次我要1英镑时,就会变得很乏味。
app.rb
require \'sinatra\'
require \'coffee-script\'

get \'/\' do
  \'<script src=\"/app.js\" type=\"text/javascript\"></script>\'
end

get \'/app.js\' do
  coffee :app
end
views/app.coffee
alert \'Foo\'
它可以在Ruby 1.8.7上做一些小的修改
require \'rubygems\'
require \'sinatra\'
require \'coffee-script\'
require \'json\'

get \'/\' do
  \'<script src=\"/app.js\" type=\"text/javascript\"></script>\'
end

get \'/app.js\' do
  coffee :app
end
当我删除
require \'coffee-script\'
时,它也可以在1.9.2上运行,但会警告我:
WARN: tilt autoloading \'coffee_script\' in a non thread-safe way; explicit require \'coffee_script\' suggested.
弄清楚了使用ѭ9时它可以工作,但在ѭ10上却无法工作。唯一的例外是Ubuntu 10.10存储库中的版本0.1.97。使用Natty的0.2.6时,它会失败,并且使用nvm安装最新的(0.4.8)时,我无法通过nvm安装0.1.97。     

解决方法

无法复制。我在运行bash和Ruby 1.9.2p180的Mac(OS 10.6.7)上。我也没有收到您的11英镑警告。 使用The Middleman(基于Sinatra的)或Rails 3.1时,我也没有遇到此问题。两者都使用相同的
coffee-script
宝石(与Tilt一样;我怀疑
coffee_script
只是一个错字)。 您是否尝试过将所有相关的gem(sinatra,coffee-script,tilt,execjs)更新为最新版本?您的系统上有什么JS环境(例如,您有
node
,还是您依靠
therubyracer
)?     ,在Ruby 1.9.2,Sinatra 1.3.2,CoffeeScript 2.2.0和Node 0.6.2上,这种情况不再发生。