Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't stop Sinatra using Ctrl+C when `require 'coffee-script'`

I'm running Ruby 1.9.2p180 on Ubuntu 11.04 64-bit.

I have the simplest possible CoffeeScript example using Sinatra which runs fine, but doesn't stop when I press the Ctrl+C shortcut. So every time I have to kill -9 and it's getting quite tedious.

The 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

The views/app.coffee:

alert 'Foo'

It works on Ruby 1.8.7 with minor modifications:

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

It also works on 1.9.2 when I remove the line require 'coffee-script', but gives me a warning:

WARN: tilt autoloading 'coffee_script' in a non thread-safe way; explicit require 'coffee_script' suggested.

Figured out that it works when using therubyracer, but fails on node. The version 0.1.97 from Ubuntu 10.10 repositories is the only exception. When using the 0.2.6 from Natty, it fails and also when installing the latest (0.4.8) using nvm, I wasn't able to install 0.1.97 via nvm.

like image 692
hleinone Avatar asked Dec 14 '25 14:12

hleinone


1 Answers

Unable to replicate. I'm on a Mac (OS 10.6.7) running bash and Ruby 1.9.2p180. I don't get your tilt warning, either.

I also haven't experienced this problem when using The Middleman (Sinatra-based) or Rails 3.1; both use the same coffee-script gem (as does Tilt; I suspect the coffee_script is just a typo).

Have you tried updating all the pertinent gems (sinatra, coffee-script, tilt, execjs) to their latest versions? What JS environment do you have on your system (e.g. do you have node, or are you relying on therubyracer)?

like image 189
Trevor Burnham Avatar answered Dec 17 '25 09:12

Trevor Burnham



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!