我有一个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
我很欣赏见解,希望我能开始学习管理红宝石宝石的一两件事。感谢。
答案 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