我在Ubuntu 11.04 64位上运行Ruby 1.9.2p180。
我有最简单的CoffeeScript示例使用Sinatra运行正常,但在按Ctrl+C
快捷方式时不会停止。因此每次我必须kill -9
并且它变得相当乏味。
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.
使用therubyracer
时计算出有效,但node
失败。 Ubuntu 10.10存储库中的0.1.97版本是唯一的例外。当使用Natty的0.2.6时,它失败了,当使用nvm安装最新的(0.4.8)时,我无法通过nvm安装0.1.97。
答案 0 :(得分:1)
无法复制。我在Mac(OS 10.6.7)上运行bash和Ruby 1.9.2p180。我也没有收到tilt
警告。
使用The Middleman(Sinatra-based)或Rails 3.1时,我也没有遇到过这个问题;两者都使用相同的coffee-script
宝石(就像Tilt一样;我怀疑coffee_script
只是一个错字)。
您是否尝试将所有相关宝石(sinatra,coffee-script,tilt,execjs)更新到最新版本?你的系统有什么JS环境(例如,你有node
,还是你依赖therubyracer
)?
答案 1 :(得分:0)
在Ruby 1.9.2,Sinatra 1.3.2,CoffeeScript 2.2.0和Node 0.6.2上不再出现这种情况。