0

我有一个不断升级的 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"

我以前从未遇到过这个错误。从来没有碰过gem文件,它已经工作了一年。我认为我最近所做的唯一可能影响我的环境的事情是安装了一个名为 Wordless 的 gemset:

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

我会很感激你的见解,希望我能开始学习一两件关于管理红宝石的事情。谢谢。

4

1 回答 1

2

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

当您安装 Wordless 时,您说:

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
于 2013-06-28T03:58:39.633 回答