В построении в возвышенном тексте 3 отказано в разрешении - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь использовать Lua в Windows 10 с Sublime Text 3. Когда я пытаюсь создать и запустить скрипт, я получаю следующую ошибку:

lua: невозможно открыть C: \ Program Files (x86) \ Lua \ 5.1: в доступе отказано

Я добавил полные права доступа к папке.

Я только пытаюсь выполнить простую инструкцию print: print("hello")

Ожидаемый результат - hello вывод в окне результатов.

1 Ответ

0 голосов
/ 11 апреля 2019

Система сборки, которая поставляется с Sublime для выполнения программ Lua, выглядит следующим образом:

{
    "cmd": ["lua", "$file"],
    "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",
    "selector": "source.lua"
}

Важным аспектом здесь является то, что выполняемая команда - lua с первым аргументом, который называетсятекущего файла.Из сообщения об ошибке, которое вы видите, Lua выглядит так, будто пытается выполнить каталог вместо имени программы.Или, если хотите, если бы это была проблема с правами доступа к каталогу, я бы ожидал, что он сообщит вам имя файла, к которому он не может получить доступ, а не папку, в которой хранится файл.

Это также подозрительночто имя папки является местом установки самого lua, и что сообщение об ошибке, похоже, указывает на то, что оно lua само генерирует ошибку.

Исходя из всего этого, я думаю, чточто вы не сохранили свой скрипт Lua до того, как выполнили команду.Это может привести к расширению $file до пустой строки, в результате чего первый аргумент будет пустым.Поскольку при сборке используется cmd, внутренним окнам предписывается запускать программу с именем lua с пустой строкой в ​​качестве первого аргумента.

Похоже, что интерпретатор сначала пытается поставить текущую рабочуюкаталог на имя файла, а затем выполнить его, и, поскольку имя файла пустое, в итоге он пытается выполнить каталог, из-за которого возникает проблема с правами доступа.

После первого сохранения файла иу него есть имя, Sublime будет автоматически повторно сохранять его каждый раз, когда вы запускаете сборку, пока проверяется Tools > Save all on build;однако эта опция не предложит вам сохранить новые файлы, которые еще не имеют имен.

...