Quando si carica un modulo con require
Lua utilizza i percorsi del pacchetto per determinare dove cercare il modulo. Dai un'occhiata alla sezione Modules del manuale Lua. In particolare, la sezione su package.path
e package.cpath
.
package.path: Il percorso utilizzato dai richiedono per cercare un caricatore Lua (.lua moduli)
package.cpath: Il percorso utilizzato dai richiedono per cercare un caricatore C (.so/moduli DLL)
è possibile verificare i percorsi attuali sono:
print(package.path..'\n'..package.cpath)
Se si installa LuaSocket in una posizione all'interno dei percorsi del pacchetto attuali Lua dovrebbe essere in grado di individuare e caricarlo.
In alternativa, è possibile modificare i percorsi del pacchetto prima di chiamare require
. Ad esempio, se si crea una cartella per il progetto ed estrarre la biblioteca LuaSocket ad una sotto-cartella chiamata libs
all'interno della cartella di progetto:
Project
|
> libs
|
> lua
|
> socket
> socket
> mime
È possibile impostare i percorsi dei pacchetti relativi al progetto prima di require
la presa biblioteca (sostituire /?.dll
per /?.so
su Linux):
package.path = package.path..';./libs/lua/?.lua'
package.cpath = package.cpath..';./libs/socket/?.dll;./libs/mime/?.dll'
local socket = require 'socket'
Is c'è qualcosa di sbagliato nelle [istruzioni di installazione?] (http://w3.impa.br/~diego/software/luasocket/installation.html) –
forse il '# luarocks installa luaso il comando cket' può aiutarti. –