Я пытался создать совместный эмулятор с друзьями (эму-кооперативиbizhawk-кооперативэто два разных, которые оба демонстрируют одни и те же симптомы). На моем старом компьютере загрузка и запуск работали нормально. Однако я собрал новый компьютер и перешел с Windows 7 на Windows 10 (не уверен, относится ли это к делу).
Теперь, когда я пытаюсь запустить скрипты, использующие Lua, я получаю исключения, сообщающие о том, что не может найти мои модули:
NLua.Exceptions.LuaScriptException: [string "main"]:35: module 'bizhawk-co-op\sync' not found:
no field package.preload['bizhawk-co-op\sync']
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop'
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop\modes'
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop\pl'
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop\socket'
no file '.\bizhawk-co-op\sync.dll'
no file 'C:\Users\Kevin\Desktop\BizHawk-2.3\bizhawk-co-op\sync.dll'
no file 'C:\Users\Kevin\Desktop\BizHawk-2.3\loadall.dll'
Файлы sync.lua
, кажется, существуют, но, похоже, он ищет именно файл DLL. Я исчерпал поиски в интернете и не могу найти никаких похожих проблем.
Стоит отметить, что у меня возникла та же проблема с только что собранной мной автономной установкой Lua:
C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1>lua coop\coop.lua
lua: coop\coop.lua:1: module 'pl.class' not found:
no field package.preload['pl.class']
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop'
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop\modes'
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop\pl'
no file 'C:\Users\Kevin\Desktop\Randomizer Stuff\Snes 9x COOP\coop-full-1key14-1\coop\socket'
no file 'C:\Users\Kevin\Desktop\lua-5.3.5.tar\lua\bin\pl\class.dll'
no file 'C:\Users\Kevin\Desktop\lua-5.3.5.tar\lua\bin\..\lib\lua\5.3\pl\class.dll'
no file 'C:\Users\Kevin\Desktop\lua-5.3.5.tar\lua\bin\loadall.dll'
no file '.\pl\class.dll'
no file 'C:\Users\Kevin\Desktop\lua-5.3.5.tar\lua\bin\pl.dll'
no file 'C:\Users\Kevin\Desktop\lua-5.3.5.tar\lua\bin\..\lib\lua\5.3\pl.dll'
no file 'C:\Users\Kevin\Desktop\lua-5.3.5.tar\lua\bin\loadall.dll'
no file '.\pl.dll'
stack traceback:
[C]: in function 'require'
coop\coop.lua:1: in main chunk
[C]: in ?
решение1
Видимо, это действительно ужасный способ показать, что ваш PATH испорчен. В частности, наличие переменной окружения LUA_PATH, похоже, переопределяет что-то, что она пытается сделать. Ужас.