2012-04-27 12 views
5

O sono stanco o cieco. Voglio imparare il networking con Lua e quindi devo installare la libreria socket, quindi posso richiederla facilmente, ma non so, quali file dovrei "richiedere". L'esempio dice:Installazione libreria socket Lua

local socket = require("socket") 

ma come ho detto, non so quali file devo includere, se uso socket.lua non funziona e ottengo: No files found.

ho avuto la lib da qui: Lua socket download

Oppure, c'è un altro modo per installare il lib presa?

+3

Is c'è qualcosa di sbagliato nelle [istruzioni di installazione?] (http://w3.impa.br/~diego/software/luasocket/installation.html) –

+0

forse il '# luarocks installa luaso il comando cket' può aiutarti. –

risposta

12

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' 
0

utilizzare questo comando su un sistema Linux:

#luarocks install luasocket 

l'uso il comando successivo per visualizzare la configurazione percorsi

#luarocks 

è necessario utilizzare account predefinito di Linux (vedi: CONFIGURAZIONE):

$lua 
> socket = require ("socket") 

o utilizzare questo:

> socket = require 'socket'