为什么在使用Luarocks安装时会出现错误?

我是这个小库的开发者:https://github.com/martin-damien/babel,我在使用Luarocks时遇到了一些问题。

来自源代码

当我从源代码使用Luarocks进行安装时,没有出现任何问题:

$ luarocks make --local rockspecs/babel-1.2-2.rockspec

来自互联网

但是当部署时(使用:标签 master,添加新的rockspec发布并发布到Luarocks),我无法使用以下命令进行安装:

$ luarocks install --local babel

因为我遇到了以下错误:

安装 https://luarocks.org/babel-1.2-2.src.rock... 使用 https://luarocks.org/babel-1.2-2.src.rock... 切换到“构建”>模式 stat:malsukcesis eltrovi statinformon pri«locales/zh-HK.lua»:No such> file or directory

错误:构建错误:在/home/damien/.luarocks/lib/luarocks/rocks/babel/1.2-2/lua/locales/zh-HK.lua中无法安装locales/zh-HK.lua:locales/zh-HK.lua:No such file or directory

正如您在https://github.com/martin-damien/babel/issues/14中所看到的,此错误出现在不同的文件中(但至今仅与地区设置文件一起出现,而不是babel.lua文件)。

我不知道为什么会出现这样的随机崩溃,所以如果有人知道原因或有一个从哪里可能来的想法...

提前致谢,

Damien

点赞
用户258523
用户258523

build.modules表中文件的位置是(来自文档的描述):

相对于 source.dir

其中source.dir

source.dir(字符串)-解包源代码存档时创建的目录名。如果可以从source.file字段中推断出,则可以省略。示例:“luasocket-2.0.1”

source.file

source.file(字符串)-源代码存档的文件名。如果可以从source.url字段中推断出,则可以省略。示例:“luasocket-2.0.1.tar.gz”

您的rockspec中没有指定source.dirsource.file,但您设置了source.url(因为必须设置)。

因此,您有source.url=https://github.com/martin-damien/babel/archive/v1.2-2.zip,这(很可能)意味着source.file=v1.2-2.zip,然后source.dir=v1.2-2,但您的zip文件解压到babel-1.2,因此luarocks找不到您的源文件。 (链接问题中的截图似乎表明luarocks使用source.file=v1.2.zip,并且存档将解压缩到babel-1.2,但我不确定如何实现这一点。)

在您的rockspec的source表中添加dir =“babel-1.2”,我希望它能正常工作。

2016-04-19 21:38:21