当我尝试通过luarocks安装moonscript时,该过程在安装moonscript的依赖项时出错,说"cl"不是已安装/识别的程序。
C:UsersKingdaro>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.12makefile
Extracting lpeg-0.12HISTORY
Extracting lpeg-0.12test.lua
Extracting lpeg-0.12re.lua
Extracting lpeg-0.12lpeg.html
Extracting lpeg-0.12re.html
Extracting lpeg-0.12lpeg-128.gif
Extracting lpeg-0.12lptypes.h
Extracting lpeg-0.12lpcap.h
Extracting lpeg-0.12lpcap.c
Extracting lpeg-0.12lpcode.h
Extracting lpeg-0.12lpcode.c
Extracting lpeg-0.12lpprint.h
Extracting lpeg-0.12lpprint.c
Extracting lpeg-0.12lptree.h
Extracting lpeg-0.12lptree.c
Extracting lpeg-0.12lpvm.h
Extracting lpeg-0.12lpvm.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安装。
来自 MSDN:
cl.exe 是一个控制 C 和 C++ 编译器和 Microsoft 的工具 连接。CL.exe只能在支持以下操作系统上运行 Microsoft Visual Studio。
您应该在 Visual Studio 命令提示符下运行luarocks install
。
我尝试在没有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 命令提示符下完成,除非您手动下载二进制包。
cl
是Visual Studio的编译器。这种失败之所以发生,是因为luarocks试图将lpeg构建为依赖项。你要么需要找到一种方法让luarocks安装一个预先构建的lpeg(我认为如果它的数据库中存在一个,它会这样做),要么你需要获得Visual Studio的副本(我相信有些版本是免费的)。