`luarocks config` 命令出现错误。

我从这里安装了 luarocks-2.2.1-win32:

https://keplerproject.github.io/luarocks/releases/

安装很简单,有一个 .bat 文件可以完成所有操作。但不幸的是,下载的 rocks 文件无法被 LUA 认可。我通过输入以下命令检查了我的 LUA 安装情况:

luarocks config

并得到以下结果:

C:\Program Files (x86)\Lua\5.1\lua: C:\Program Files (x86)\Lua\5.1\luarocks.lua:3: module 'luarocks.command_line' not found:
    no field package.preload['luarocks.command_line']
    no file 'C:\Program Files (x86)\LuaRocks\2.2\lua\luarocks\'
    no file 'C:\Program Files (x86)\LuaRocks\2.2\lua\luarocks\init.lua'
    no file 'C:\Program Files (x86)\LuaRocks\systree\share'
    no file 'C:\Program Files (x86)\LuaRocks\systree\share\lua\5.1\luarocks\command_line.lua'
    no file 'C:\Program Files (x86)\LuaRocks\systree\share\lua\5.1\luarocks\command_line\init.lua'
    no file 'C:\Program Files (x86)\LuaRocks\systree\share\lua\5.1'
    no file 'C:\Program Files (x86)\LuaRocks\systree\lib\lua\5.1\luarocks\command_line.dll'
    no file 'C:\Users\Stefan\AppData\Roaming\LuaRocks\share\lua\5.1\luarocks\command_line.lua'
    no file 'C:\Users\Stefan\AppData\Roaming\LuaRocks\lib\lua\5.1\luarocks\command_line.dll'
    no file '.\luarocks\command_line.dll'
    no file '.\luarocks\command_line51.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\luarocks\command_line.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\luarocks\command_line51.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\clibs\luarocks\command_line.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\clibs\luarocks\command_line51.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\loadall.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\clibs\loadall.dll'
    no file '.\luarocks.dll'
    no file '.\luarocks51.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\luarocks.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\luarocks51.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\clibs\luarocks.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\clibs\luarocks51.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\loadall.dll'
    no file 'C:\Program Files (x86)\Lua\5.1\clibs\loadall.dll'
stack traceback:
    [C]: in function 'require'
    C:\Program Files (x86)\Lua\5.1\luarocks.lua:3: in main chunk
    [C]: ?

谁有在 Windows 上安装 LUArocks 的经验?

点赞
用户1793220
用户1793220

这一行

no file 'C:\Program Files (x86)\LuaRocks\2.2\lua\luarocks\'

说明你的 LUA_PATH 文件不正确,因为它生成了一个没有你要查找的模块名称的文件名(通常会像 C:\Program Files (x86)\LuaRocks\2.2\lua\luarocks\command_line.lua 这样)。

LUA_PATHLUA_CPATH 变量中,字符 ? 将展开为模块名称,因此例如如果 LUA_PATHc:\mymodules\?.lua,则尝试 require 模块 foo.bar 将打开 c:\mymodules\foo\bar.lua

添加路径到 LUA_PATH 时,一般会为每个目录添加两个变体,比如对于假设的 c:\mymodules,写成如下形式:c:\mymodules\?.lua;c:\mymodules\?\init.lua。这样做对于实际存放 Lua 模块的目录,Lua 将能找到它们。

(但是,LuaRocks 安装程序安装的 luarocks.bat 脚本应该已经在启动时使用安装程序安装它们的目录进行了配置。您在启动 install.bat 时使用了哪些标志?)

2016-10-22 02:17:55