【问题标题】:Why have I errors when installing from Luarocks?为什么从 Luarocks 安装时出现错误?
【发布时间】:2016-08-12 06:46:18
【问题描述】:

我是这个小型库的开发人员: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: 没有那个文件或目录

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

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

提前致谢,

达米安

【问题讨论】:

    标签: lua luarocks


    【解决方案1】:

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

    相对于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,但我不确定这怎么可能。)

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

    【讨论】:

    • 感谢您的解决方案。供您参考,屏幕截图是旧版本的 babel (1.2) 将显示来自 1.2-2 的消息。这就是原因。
    • 啊,这样就行了。
    猜你喜欢
    • 1970-01-01
    • 2018-12-07
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 2020-07-09
    • 2014-08-27
    • 2021-01-25
    相关资源
    最近更新 更多