Ошибка запуска 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).