Синтаксические ошибки Рубиния

При работе с LocomotiveCMS с использованием Rubinius я столкнулся с множеством синтаксических ошибок. Все были по линии expecting '|', Никто не публиковал сообщения об этом, поэтому я решил спросить: как мне решить эти проблемы? Это проблема с Рубиниусом?

1 ответ

Прежде всего, LocomotiveCMS поддерживает только "последнюю версию Ruby" (Ruby 1.9.2 и выше). Посмотреть раздел требований.

По умолчанию Rubinius использует Ruby 1.8.7 ( посмотреть на rvm.io). Если вы посмотрите на строки, где происходит большинство этих синтаксических ошибок, как в app/models/locomotive/page.rb они, скорее всего, в "лямбдах", которые не поддерживаются до Ruby 1.9.

Чтобы решить эту проблему, вы можете заставить Rubinius (rbx) использовать Ruby 1.9 двумя способами:

  1. Используйте rvm для переустановки rbx, используя Ruby 1.9 по умолчанию:

    rvm reinstall rbx --1.9
    

    Примечание: если rvm жалуется на неверные аргументы, обновите rvm, используя rvm get master или же rvm get stable,

  2. Или, если вы не хотите полностью переустанавливать rbx, вы можете установить переменную окружения в каталоге, который вы будете называть Rubinius, как в корневом каталоге rails.

    export RBXOPT=-X19
    

    Вы можете проверить, что переменная окружения установлена ​​с помощью rbx -v проверить версию Ruby. Он должен вернуть что-то вроде:

    rubinius 2.0.0.rc1 (1.9.3 release ...)
    

    Примечание. Если вы запускаете Rubinius из другого каталога, вам нужно будет снова установить этот параметр.

Другие вопросы по тегам