Lua スクリプトが新しい Windows 10 デバイス上のファイルを見つけられない

Lua スクリプトが新しい Windows 10 デバイス上のファイルを見つけられない

私は友人たちと協力プレイのエミュレータ体験をセットアップしようとしています(エミューコープそしてビズホークコープこれらは 2 つの異なるものですが、どちらも同じ症状を示します。古いコンピューターでは、ダウンロードと実行は問題なく機能しました。ただし、新しいコンピューターを組み立てて、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 という環境変数があると、実行しようとしていたことが上書きされるようです。ひどい。

関連情報