When I use
local socket = require("socket.core")
It works fine, the dll is located at “dir/socket/core.dll” but when I move the dll to say
“dir/folder/core.dll” and use
local socket = require("folder.core.")
It returns that it was found however it could not find the specific module in folder.core.
How do I use Luasocket outside of it’s socket.core requirements?
Thanks!
If you want to
require("socket.core"), the shared library (dll) has to have an exported function called luaopen_socket_core (which the LuaSocket library has). Thus, it always needs to be called asrequire("socket.core").If you want to move the DLL into some other folder, you have to modify
package.cpath, which contains the file patterns which will be checked.Let’s say that you want to move the LuaSocket binary to
folder. You have to place the binary infolder/socket/core.dlland modifypackage.cpathprior to callingrequire:?represents the name passed torequiretranslated to file paths:. -> /, i.e.socket.core -> socket/core.