Ошибка запуска Moonscript CLI с Lua 5.3 на OSX

Я на OS X 10.11.1 под управлением последней версии X Code. Я установил Lua 5.3 сегодня из источника без проблем. Кажется, работает правильно. Нет ошибок при установке luarocks и последующем использовании его для установки moonscript. Однако при вызове из командной строки и moon, и moonc выдают следующую ошибку:

$ moon
/usr/local/bin/lua: /usr/local/share/lua/5.3/alt_getopt.lua:24: attempt to call a nil value (global 'module')
stack traceback:
    /usr/local/share/lua/5.3/alt_getopt.lua:24: in main chunk
    [C]: in function 'require'
    /usr/local/lib/luarocks/rocks/moonscript/0.4.0-1/bin/moon:2: in main chunk
    [C]: in ?

Просмотр alt_getopt.lua показывает, что он действительно использует ключевое слово "module", которое сейчас не существует. Похоже, что проект GitHub для этого модуля мертв в течение последних 3 лет.

Как мне начать работать с Moonscript в моей системе?

1 ответ

Решение

Да, как вы заметили, module долгое время считалось устаревшим и работало только с более ранними версиями из-за переключателей совместимости.

Вы можете закомментировать строку 24 в alt-getopt и добавить следующую строку в конец alt-getopt.lua файл: return {get_opts = get_opts, get_ordered_opts = get_ordered_opts},

Это должно сделать этот модуль совместимым с Lua 5.2/5.3 (хотя я не проверял, есть ли другие проблемы совместимости с использованием Lua 5.3).

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