使用luarocks安装luasocket

时间:2013-08-02 07:42:07

标签: lua luasocket luarocks

我按照

上的说明在我的windows xp(32位)系统中安装了luarocks

http://luarocks.org/en/Installation_instructions_for_Windows

从luarocks安装luasocket我在命令提示符下使用了命令“luarocks install luasocket”。但结果却出现了错误:

**Warning: Failed searching manifest: Failed loading manifest: Failed fetching man
ifest for http://luarocks.org/repositories/rocks - Error fetching file: Failed d
ownloading http://luarocks.org/repositories/rocks/manifest
Error: No results matching query were found.**

所以它无法找到luasocket.rock文件。我从链接

下载了文件 luasocket-2.0.2-5.src.rock

http://luarocks.org/repositories/rocks/

现在我尝试使用命令 luarocks install luarocks install“C安装此.rock文件 :\ Documents and Settings \ Ankur_Gupta37 \ Desktop \ LuaRocks \ 2.1 \ lua \ luarocks“

(我把 luasocket-2.0.2-5.src.rock 放在“C”位置 :\ Documents and Settings \ Ankur_Gupta37 \ Desktop \ LuaRocks \ 2.1 \ lua \ luarocks \ luasocket-2.0.2-5.src.rock“)

但最终又出现了错误:

**set INCLUDE=C:/Documents and Settings/Ankur_Gupta37/Desktop/LuaRocks/2.1/include
;%INCLUDE% &set LIB=C:/Documents and Settings/Ankur_Gupta37/Desktop/LuaRocks/2.1
;%LIB% &msbuild /p:"VCBuildAdditionalOptions= /useenv" luasocket.sln &mkdir mime
 & mkdir socket &cp src/mime.dll mime/core.dll &cp src/socket.dll socket/core.dl
l
'msbuild' is not recognized as an internal or external command,
operable program or batch file.
cp: cannot stat `src/mime.dll': No such file or directory
cp: cannot stat `src/socket.dll': No such file or directory
Error: Build error: Failed building.**

任何人都告诉我这个问题及其解决方案..

2 个答案:

答案 0 :(得分:8)

您可以尝试从git安装最新版本。 当前状态是3.0 rc1。 此版本与Lua 5.1 / 5.2兼容 例如

luarocks install https://raw.github.com/diegonehab/luasocket/master/luasocket-scm-0.rockspec

luarocks install luasocket --only-server=http://luarocks.org/repositories/rocks-scm

这种rockspec与gcc(MinGW)和MSVC一起使用。 如果你使用MSVC,你应该运行Visual Studio Command Prompt的luarocks 如果您使用MinGW,那么您应该将mingw32-gcc的路径添加到%PATH%环境变量中。

答案 1 :(得分:-2)

Luasocket似乎已经改变了它的输出libname。没有文件“socket.so/dll”(至少在Linux中),而是有一个core.so。

此代码修复了我的类似问题:

package.loadlib("core.so", "*")
local socket = require("socket")

我认为这可能是安装lua或luarocks时的错误。如果您了解更多信息,请在此处发表评论。