如何管理luarocks rockspec文件以及为什么?
2017-5-23 12:0:13
收藏:0
阅读:303
评论:0
我正在开发我的第一个lua包,我深感困惑,不知道该如何命名我的rockspec文件以及该把它们放在哪里。我看到的每一个受欢迎的lua包好像都以不同的方式处理rockspecs。这与Ruby非常不同,Ruby中每个gem都只有一个单独的gemspec文件。以下是一些示例:
- lua-cliargs :在项目根目录中有一个单独的rockspec(例如
lua_cliargs-3.0-1.rockspec) - ldoc:在项目根目录中有一个单独的rockspec,用
scm代替版本号命名(例如ldoc-scm-2.rockspec) - lua-MessagePack :在顶级目录的
rockspec/目录中存储多个以版本号命名的rockspec文件(例如lua-messagepack-0.1.0-1.rockspec,...lua-messagepack-0.3.4-1.rockspec),接着是一些在包版本之前插入额外的lua版本的rockspec(例如lua-messagepack-lua53-0.3.6-1.rockspec)。有时对于相同的包版本会有两个rockspecs,一个包含lua53,一个不包含。 - luafilesystem :在顶级的
/rockspec目录中存储多个以版本号命名的rockspec文件(例如luafilesystem-1.3.0-1.rockspec,...luafilesystem-1.6.1-1.rockspec),接着是一些在包版本之前插入cvs而不是包版本号的rockspec(例如luafilesystem-cvs-1.rockspec,luafilesystem-cvs-2.rockspec)。 - lpeg :根本没有rockspec
- luasocket :在根目录中有一个包含
scm而不是包的编号的rockspec文件(例如luasocket-scm-0.rockspec)和一个包含单个包编号的rockspec的/rockspec目录(例如luasocket-3.0rc2-1.rockspec)
现在,这个问题解释了为什么会有一个"working"的rockspec文件和一个完整的release版本的rockspecs目录,但是我仍然有一些问题:
- rockspec修订版本的作用是什么? luarocks wiki上说,包发布应该在git中用版本号标记,并且它给出的示例不包括rockspec修订版。如果我的rockspec在VCS中,并且我标记了特定的提交,那么那不就有效地固定了包含在该提交中的rockspec,因此版本?rockspec的后续修订版本不可能在标记的提交中。
lpeg怎么可能被列在luarocks上却没有rockspec?- luarocks wiki称如果你想让你的rockspec引用HEAD,则应该使用
scm代替包版本号。但由于HEAD不断变化,且rockspec必须列出所有文件,因此似乎需要不断增加scmrockspec的revision号以跟上增加或删除的文件。要做到这一点,可以根本不使用修订号来为scmrockspecs命名,但是我看到的那些仍然拥有较低的修订号(例如ldoc-scm-2.rockspec)。这是一个错误吗? - 上述示例中是否有任何最佳实践?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
