Ich habe versucht, mit einigen Freunden ein kooperatives Emulator-Erlebnis einzurichten (Emu-StallUndBizhawk-Kooperationsind zwei verschiedene, die beide die gleichen Symptome aufweisen). Auf meinem alten Computer funktionierten der Download und die Ausführung problemlos. Ich habe jedoch einen neuen Computer gebaut und bin von Windows 7 auf Windows 10 umgestiegen (nicht sicher, ob das relevant ist).
Wenn ich jetzt versuche, die Skripte auszuführen, die Lua verwenden, erhalte ich Ausnahmen, die besagen, dass meine Module nicht gefunden werden können:
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'
Die sync.lua
Dateien scheinen zu existieren, aber es scheint stattdessen gezielt nach einer DLL-Datei zu suchen. Ich habe das Internet gründlich durchsucht und kann keine ähnlichen Probleme finden.
Es ist erwähnenswert, dass ich mit einer eigenständigen Lua-Installation, die ich gerade erstellt habe, dasselbe Problem habe:
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 ?
Antwort1
Anscheinend ist das eine wirklich schlechte Methode, um zu zeigen, dass Ihr PATH durcheinander ist. Insbesondere schien eine Umgebungsvariable namens LUA_PATH etwas zu überschreiben, was sie eigentlich tun wollte. Igitt.