微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将Ruby gem包复制到任意位置?

假设您有一个软件包.你想让它成为一个宝石,因为宝石是在 Ruby世界中分发任何东西的事实上的标准方式.宝石很棒 – 对于图书馆来说.但对于实际应用程序,Rubygems系统似乎缺乏.只有“最近”他们引入了一种方法标记可执行文件放置在系统范围的可执行PATH中的某个位置.不幸的是,Ruby gems似乎仍然需要软件打包的其他方面,即将配置文件放在/ etc等文件中,或者放在/usr/share / doc下的文档中.或者是吗?我的问题是:

我可以在gemspec中放置指令或代码以将配置安装到/ etc中,并将文档放在一些合理的标准化位置(例如/usr/share / doc)吗?或者,作为一种解决方法,可以运行安装后脚本来执行这些操作吗?

供参考:the GemSpec specification.

请注意,在撰写本文时,rubygems.org已关闭.以下是该页面的Google缓存:http://74.125.95.132/search?q=cache:JwJO6slR4BwJ:www.rubygems.org/read/chapter/20+http://www.rubygems.org/read/chapter/20%23page85&hl=en&ct=clnk&cd=1

如果检查the specification.rb file in the repo,向下滚动到末尾(搜索“:section:required gemspec attributes”),您可以看到当前支持属性.我看不到任何看起来像我想要的东西.

解决方法

简短的回答:没有

答案很长:你不应该/需要这样做… gems被设计用作库…而不是作为应用程序自己(调查你的发行版应用程序包系统的那种类型的东西).另外,你不能假设你的宝石只会被“使用一次”…理论上,几个项目/应用程序可能包含你的宝石,虽然你的宝石可能有一些细节可以排除它可以全局配置…您仍然不希望这样做,因为其他架构问题,例如开发/配置您的应用程序以在不同的阶段环境(开发/测试/阶段/生产)中工作.您可能最终的最佳情况是注意如何在README中创建/ etc / config文件,并包含一个实用程序应用程序来提示用户输入值.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐