从Luarocks安装时为什么会出错?

时间:2016-04-19 21:02:14

标签: lua luarocks

我是这个小型库的开发人员: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 ...切换到“构建”>模式   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文件)。

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

提前致谢,

达明

1 个答案:

答案 0 :(得分:1)

build.modules表中文件的位置是(来自the docs的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"

您未在your 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,但我不知道该怎么做&#39}可能。)

dir = "babel-1.2"添加到您预计会运作的我所在的source表中。