1

我是这个小库的开发者:https ://github.com/martin-damien/babel ,我对 Luarocks 版本有疑问。

从源头

当我使用 Luarocks 从源代码安装时,我没有问题:

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

来自互联网

但是在部署时(使用: tag 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 ... 切换到 'build' > mode stat : malsukcesis eltrovi statinformon pri «locales/zh-HK.lua»: 没有这样 > 文件或目录

错误:构建错误:在 /home/damien/.luarocks/lib/luarocks/rocks/babel/1.2-2/lua/locales/zh-HK.lua 中安装 locales/zh-HK.lua 失败:locales/zh-HK .lua:没有这样的文件或目录

正如您在https://github.com/martin-damien/babel/issues/14中看到的,错误发生在不同的文件上(但直到现在,只有语言环境文件,而不是babel.lua文件)。

我不知道为什么它会像这样随机崩溃,所以如果有人知道为什么或知道它可能来自哪里......

提前致谢,

达米安

4

1 回答 1

1

表中文件的位置build.modules是(来自rockspec 格式的文档):

相对于source.dir

source.dir在哪里

source.dir (string) - 解压缩源存档时创建的目录的名称。如果可以从 source.file 字段推断,则可以省略。示例:“luasocket-2.0.1”

并且source.file

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

你没有在你的 Rockspecsource.dir中指定或指定,但你确实设置了(因为你必须这样做)。source.filesource.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但我不确定这怎么可能。)

添加dir = "babel-1.2"到您的 Rockspecsource表中,我希望它会起作用。

于 2016-04-19T21:38:21.057 回答