Luarocks 安装

Luarocks Installation

我正在尝试安装从 luarocks's official site. Firstly, I used the Lua binaries obtained from LuaForge Lua Binaries project referred from Official Lua site 获得的最新版本的 Luarocks。但是安装脚本 returns 出现以下错误(由于堆栈溢出限制导致输出拖尾):

LuaRocks 2.4.x installer.

========================
== Checking system... ==
========================

Admin privileges available for installing
Looking for Lua interpreter
    checking C:\Programs\Lua
       Found lua.exe, testing it...
Interpreter found, now looking for link libraries...
    checking for C:\Programs\Lua\lua5.3.lib
    checking for C:\Programs\Lua\lua53.lib
    checking for C:\Programs\Lua\lua5.3.dll
    checking for C:\Programs\Lua\lua53.dll
       Found lua53.dll
....................................................
Could not find Lua. See /? for options for specifying the location of Lua, or installing a bundled copy of Lua 5.1.

Failed installing LuaRocks. Run with /? for help.

然后我使用了另一个 Lua 从 Lua - joedf's Builds referred from Official Lua site 获得的二进制文件。但是安装脚本 returns 出现以下错误(由于堆栈溢出限制导致输出拖尾):

LuaRocks 2.4.x installer.

========================
== Checking system... ==
========================

Admin privileges available for installing
Looking for Lua interpreter
    checking C:\Programs\Lua
       Found lua53.exe, testing it...
Interpreter found, now looking for link libraries...
    checking for C:\Programs\Lua\lua5.3.lib
    checking for C:\Programs\Lua\lua53.lib
    checking for C:\Programs\Lua\lua5.3.dll
    checking for C:\Programs\Lua\lua53.dll
       Found lua53.dll
Link library found, now looking for headers...
    checking for C:\Programs\Lua\include\lua.3\lua.h
    checking for C:\Programs\Lua\include\lua53\lua.h
    checking for C:\Programs\Lua\include\lua5.3\lua.h
    checking for C:\Programs\Lua\include\lua.h
    checking for C:\Programs\Lua\lua.h
    checking C:\Windows\system32\inetsrv
       Found lua53.exe, testing it...
Interpreter found, now looking for link libraries...
    checking for C:\Programs\Lua\lua5.3.lib
    checking for C:\Programs\Lua\lua53.lib
    checking for C:\Programs\Lua\lua5.3.dll
    checking for C:\Programs\Lua\lua53.dll
       Found lua53.dll
......................................................
Could not find Lua. See /? for options for specifying the location of Lua, or installing a bundled copy of Lua 5.1.

Failed installing LuaRocks. Run with /? for help.

然后我使用了另一个 Lua 从 LuaDist referred from official Lua site. It already includes luarocks, but an older version. Using this version results the following error : Orbit Installation Using Luarocks in Windows 获得的二进制文件。因此,尝试了 luarocks 的安装脚本。安装成功,我按照installer的说明配置了如下变量(由于栈溢出限制,拖尾输出):

............................................................ 
============================
== LuaRocks is installed! ==
============================

You may want to add the following elements to your paths;
Lua interpreter;
  PATH     :   C:\Programs\Binaries-LuaDist-batteries-0.9.8-Windows-x86\bin
  PATHEXT  :   .LUA
LuaRocks;
  PATH     :   C:\Program Files (x86)\LuaRocks
  LUA_PATH :   C:\Program Files (x86)\LuaRocks\lua\?.lua;C:\Program Files (x86)\LuaRocks\lua\?\init.lua
Local user rocktree (Note: %APPDATA% is user dependent);
  PATH     :   %APPDATA%\LuaRocks\bin
  LUA_PATH :   %APPDATA%\LuaRocks\share\lua.1\?.lua;%APPDATA%\LuaRocks\share\lua.1\?\init.lua
  LUA_CPATH:   %APPDATA%\LuaRocks\lib\lua.1\?.dll
System rocktree
  PATH     :   c:\programs\binaries-luadist-batteries-0.9.8-windows-x86\bin
  LUA_PATH :   c:\programs\binaries-luadist-batteries-0.9.8-windows-x86\share\lua.1\?.lua;c:\programs\binaries-luadist-batteries-0.9.8-windows-x86\share\lua.1\?\init.lua
  LUA_CPATH:   c:\programs\binaries-luadist-batteries-0.9.8-windows-x86\lib\lua.1\?.dll

Note that the %APPDATA% element in the paths above is user specific and it MUST
be replaced by its actual value.
For the current user that value is: C:\Users\Banee-Ishaque-K\AppData\Roaming.

但是 luarocks 命令现在 returns

windows can't open this file

错误,怎么办?我正在研究 Windows 7 64 位并且 Windows 没有用于手动编译 Lua 而不是使用二进制文件的编译方法。

解决方案是,只需使用 CMD 行参数 /LUA 将 Lua 安装目录指定到 Luarocks 安装脚本 (INSTALL.bat) 文件。在上述情况下,

C:\Programs\luarocks-2.4.2-win32>install.bat /LUA C:\Programs\Binaries-LuaDist-batteries-0.9.8-Windows-x86 

将成功安装 Luarocks。 在 Win 7 64 位和 Lua 5.1 64 位以及 Luarocks 2.4.2 win32 包上测试和验证。

安装 Luarocks; Lua 解释器、link 库、headers 和运行时必须存在于系统中。 来自 LuaForge Lua Binaries project & Lua - joedf's Builds 的二进制文件仅包含 Lua 解释器和link 个图书馆。这就是前两种方法因错误而失败的原因。

Lua 从 LuaDist 获得的二进制文件包含 Lua 解释器、link 库和 headers;大多数用于开发目的的 windows 系统都提供运行时(如果没有,我们可以安装匹配的(用于将 Lua 源代码编译为二进制文件的版本)来自 Microsoft 网站的 Microsoft Visual C++ Redistributables)。但是,问题是 ..\Binaries-LuaDist-batteries-0.9.8-Windows-x86\bin 在路径中。该文件夹仅包含 Lua 解释器。 link 库和 headers 在 ..\Binaries-LuaDist-batteries-0.9.8-Windows-x86 文件夹中。