在使用Rubinius使用LocomotiveCMS时,我遇到了一堆语法错误。它们都与expecting '|'
一致。没有人发布关于这个的问题,所以我想我应该问:我如何解决这些问题?这是Rubinius的问题吗?
首先,机车ecms只支持"最新版本的Ruby"(Ruby 1.9.2及更高版本)。查看需求部分。
Rubinius默认为Ruby 1.8.7(在rvm.io上查看)。如果你看一下像app/models/locomotive/page.rb
这样出现语法错误的行,它们很可能是在Ruby 1.9之前不支持的"lambdas"中。
可以通过以下两种方式让Rubinius (rbx)使用Ruby 1.9:
-
使用rvm重新安装rbx,使用Ruby 1.9作为默认:
rvm reinstall rbx --1.9
注意:如果rvm抱怨错误的参数,请使用 或者,如果你不想完全重新安装rbx,你可以在你将要调用Rubinius的目录中设置一个环境变量,就像在rails根目录中一样。
export RBXOPT=-X19
可以通过
rbx -v
检查Ruby版本来检查环境变量是否设置。它应该返回如下内容:rubinius 2.0.0.rc1 (1.9.3 release ...)
注意:如果你从另一个目录运行Rubinius,你需要再次设置这个选项。
rvm get master
或rvm get stable
升级rvm。