3

当我尝试通过 luarocks 安装moonscript 时,安装moonscript 依赖项的过程出错,说“cl”不是已安装/识别的程序。

C:\Users\Kingdaro>luarocks install moonscript
Installing http://luarocks.org/repositories/rocks/moonscript-0.2.4-1.src.rock...


Missing dependencies for moonscript:
lpeg >= 0.10, ~= 0.11
alt-getopt >= 0.7


7-Zip 9.10 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-12-22

Processing archive: lpeg-0.12.tar.gz

Extracting  lpeg-0.12.tar

Everything is Ok

Size:       245760
Compressed: 66649

7-Zip 9.10 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-12-22

Processing archive: lpeg-0.12.tar

Extracting  lpeg-0.12
Extracting  lpeg-0.12\makefile
Extracting  lpeg-0.12\HISTORY
Extracting  lpeg-0.12\test.lua
Extracting  lpeg-0.12\re.lua
Extracting  lpeg-0.12\lpeg.html
Extracting  lpeg-0.12\re.html
Extracting  lpeg-0.12\lpeg-128.gif
Extracting  lpeg-0.12\lptypes.h
Extracting  lpeg-0.12\lpcap.h
Extracting  lpeg-0.12\lpcap.c
Extracting  lpeg-0.12\lpcode.h
Extracting  lpeg-0.12\lpcode.c
Extracting  lpeg-0.12\lpprint.h
Extracting  lpeg-0.12\lpprint.c
Extracting  lpeg-0.12\lptree.h
Extracting  lpeg-0.12\lptree.c
Extracting  lpeg-0.12\lpvm.h
Extracting  lpeg-0.12\lpvm.c

Everything is Ok

Folders: 1
Files: 18
Size:       220385
Compressed: 245760
cl /MD /O2 -c -Folpcap.obj -IC:/Program Files (x86)/Lua/5.1/include lpcap.c
'cl' is not recognized as an internal or external command,
operable program or batch file.

Error: Failed installing dependency: http://luarocks.org/repositories/rocks/lpeg
-0.12-1.src.rock - Build error: Failed compiling object lpcap.obj

我不确定在这里做什么;过去几天我一直在谷歌搜索解决方案,但找不到任何相关的东西。如果有帮助,我正在使用Lua for Windows提供的 Lua 5.1.4 安装。

4

2 回答 2

6

来自 MSDN:

cl.exe 是一个控制 Microsoft C 和 C++ 编译器和链接器的工具。cl.exe 只能在支持 Microsoft Visual Studio 的操作系统上运行。

您应该luarocks install在 Visual Studio 命令提示符内运行。

我尝试在没有 Visual Studio 的情况下安装moonscript,发现moonscript 没有二进制发行版。

无论如何,我找到了moonscript的每个依赖项的二进制包,安装过程如下:

luarocks install lpeg 0.10-1           # this is the one that failed first
luarocks install luafilesystem 1.6.0-1 # this one failed after installing lpeg

但以下内容:

luarocks install moonscript

除非您手动下载二进制包,否则只能在 Visual Studio 命令提示符内完成。

于 2014-01-08T02:23:13.800 回答
3

cl是作为 Visual Studio 一部分的编译器。这种失败正在发生,因为 luarocks 正试图将 lpeg 构建为依赖项。您要么需要找到一种方法来让 luarocks 安装预构建的 lpeg(我认为如果它的数据库中存在一个 lpeg 就会这样做),或者您需要获得一份 Visual Studio 的副本(我相信有些版本是免费的) .

于 2014-01-08T02:14:52.650 回答