Установка библиотеки сокетов Lua
Либо я переутомлен, либо слеп. Я хочу научиться работать в сети с Lua, и поэтому я должен установить socket
lib, так что я могу легко это потребовать, но я не знаю, какие файлы мне "требуются". Пример говорит:
local socket = require("socket")
но, как я уже сказал, я не знаю, какие файлы я должен включить, если я использую socket.lua
это не работает, и я получаю: No files found
,
Я получил lib здесь: Lua сокет скачать
Или есть другой способ установить сокет lib?
2 ответа
Когда вы загружаете модуль с require
Lua использует пути к пакетам, чтобы определить, где искать модуль. Взгляните на раздел " Модули " руководства Lua. В частности, раздел о package.path
а также package.cpath
,
package.path: путь, используемый параметром require для поиска загрузчика Lua (модули.lua)
package.cpath: путь, используемый параметром require для поиска загрузчика C (модули.so /.dll)
Вы можете проверить, каковы текущие пути:
print(package.path..'\n'..package.cpath)
Если вы устанавливаете LuaSocket в папку, в которой находятся пути вашего текущего пакета, Lua сможет найти и загрузить его.
Кроме того, вы можете изменить пути пакета перед вызовом require
, Например, если вы создаете папку для своего проекта и извлекаете библиотеку LuaSocket в подпапку с именем libs
в папке вашего проекта:
Project
|
> libs
|
> lua
|
> socket
> socket
> mime
Вы можете установить пути пакета относительно вашего проекта перед вами require
библиотека сокетов (замена /?.dll
за /?.so
в Linux):
package.path = package.path..';./libs/lua/?.lua'
package.cpath = package.cpath..';./libs/socket/?.dll;./libs/mime/?.dll'
local socket = require 'socket'
Используйте эту команду в вашей системе Linux:
#luarocks install luasocket
используйте следующую команду, чтобы увидеть пути КОНФИГУРАЦИЯ
#luarocks
Вам необходимо использовать учетную запись linux по умолчанию (см.: КОНФИГУРАЦИЯ):
$lua
> socket = require ("socket")
или используйте это:
> socket = require 'socket'