2017-05-24 5 views
0

Ich habe versucht, LuaJIT unter Windows 10 für einige Zeit nach der official guide zu installieren, und ich kann es tatsächlich installieren. Zum Beispiel, wenn ich luajit ausführen, komme ich in die Eingabeaufforderung. Außerdem gibt luajit -v die Version von luajit (2.0.4) zurück. Und ich kann auch Code mit luajit -e <lua code> ausführen. Jedes Mal, wenn ich versuche, Bytecode mit luajit -b zu speichern, erhalte ich die folgende Meldung:LuaJIT unter Windows 10: unbekannter luaJIT-Befehl oder jit. *

luajit. Unbekannt luajit Befehl oder jit * Module nicht installiert

Ich habe versucht, alle Arten von Installationen zu machen: mit Cygwin , luajit-rocks, MinGW, ... Egal, was ich versuche, ich bekomme immer das gleiche Ergebnis, und ich habe keine Ahnung, was ich tun soll.

Können Sie mich auf einige mögliche Probleme hinweisen, die ich übersehen könnte?

Ich habe auf meinem System Lua 5.1 und Luarocks.

+0

Bitte zeigen Sie den tatsächlichen Befehl, den Sie verwenden, der fehlschlägt. '-b' benötigt Eingabe- und Ausgabedateien. –

+2

LuaJIT kann anscheinend 'jit \ bcsave.lua' nicht finden. Entweder ist es nicht am richtigen Ort installiert oder es ist nicht in 'package.path'. Überschreiben Sie möglicherweise den Standard 'package.path' mit der Umgebungsvariablen' LUA_PATH'? – siffiejoe

+0

Danke für Ihre Antwort. Ja, ich habe die Umgebungsvariablen LUA_PATH (und LUA_CPATH) außer Kraft gesetzt, und 'bcsave.lua' befand sich nicht in dem Verzeichnis, auf das sie zeigten. Ich glaube, ich habe das vor langer Zeit gemacht, als ich zum ersten Mal Lua und Luarocks installiert habe, und ich hatte es völlig vergessen. Vielen Dank, du hast meinen Tag gerettet! Kannst du die Antwort posten, damit ich sie annehmen kann? –

Antwort

2

Einige zusätzliche LuaJIT-Funktionen sind als separate Lua-Module implementiert (z. B. zum Speichern von Bytecodes), und LuaJIT hängt von package.path ab, um diese Module zu finden. Der vorgeschlagene Installationsort für diese Module lautet standardmäßig package.path. Wenn Sie ihn jedoch über die Umgebungsvariable LUA_PATH überschreiben, müssen Sie sicherstellen, dass dieser Speicherort dort enthalten ist. Eine einfache Möglichkeit besteht darin, zwei aufeinanderfolgende Semikolons in LUA_PATH zu setzen: Doppelte Semikolons werden durch den Standardwert package.path für die Kompilierung ersetzt.

+0

Ich habe versucht, den JIT-Modulen LUA_PATH hinzuzufügen, aber es kann die Module immer noch nicht finden. Was kann ich tun? – modiX

+1

@modiX Führe 'luajit -e 'require (' jit.bcsave ')" '. Dies sollte eine Liste aller Orte drucken, die LuaJIT nach 'bcsave.lua' sucht. Stellen Sie sicher, dass sich der tatsächliche Speicherort für die Datei dort befindet, und korrigieren Sie LUA_PATH, falls dies nicht der Fall ist. – siffiejoe