通过独角兽在localhost上的sinatra应用程序:语法错误

时间:2013-06-28 02:21:05

标签: ruby gem sinatra localhost unicorn

我有一个Sinatra应用程序,我不断升级(目前只在本地)。问题是我对Ruby一无所知 - 我的朋友让我成为了应用程序,它的工作时间超过了近一年。

要在localhost上查看该网站,我这样做:

bundle exec unicorn -l 9000

我不明白这一点,不需要。我知道我正在使用unicorn gem来运行针对端口9000的应用程序(由于旧的打印机冲突)。

今天,我收到了这个错误:

in `evaluate': compile error (SyntaxError)
syntax error, unexpected ':', expecting $end

指的是我的gem文件的第16行,sinatra-contrib gem:

gem "sinatra-contrib", require: "sinatra/reloader"

我之前从未遇到过此错误。从来没有碰过宝石文件,它已经工作了一年。我能想到的最近可能影响我环境的唯一事情就是安装一个名为Wordless的宝石集:

rvm use 1.8.7@wordless --create --default && gem install therubyracer sprockets compass coffee-script thor yui-compressor && rvm wrapper 1.8.7@wordless wordless compass ruby

我很欣赏见解,希望我能开始学习管理红宝石宝石的一两件事。感谢。

1 个答案:

答案 0 :(得分:2)

之前您使用的是Ruby 1.9。您引用的行是1.9格式,Ruby 1.8无法理解。

当您安装无语时,您说:

rvm use 1.8.7@wordless --create --default

这使Ruby 1.8.7成为您的默认解释器。要切换回之前使用的任何内容:

rvm list rubies

然后:

rvm use [the 1.9.x you found in the list above] --default