解包,编辑和重建ruby gem

时间:2018-03-13 15:48:34

标签: ruby rubygems

我需要编辑ruby gem的内容,称他为 a.gem
我使用了gem unpack a.gem,得到了它的内部,gem unpack --spec a.gem得到了 .gemspec
我添加了一个新文件,更新了 .gemspec files:部分以包含它。
我将 a.gemspec 放在解压缩gem所产生的文件夹中。

现在我尝试gem build a.gemspec,我收到以下错误:

Invalid gemspec in [logstash-output-jdbc-5.2.1-java.gemspec]: logstash-output-jdbc-5.2.1-java.gemspec:1: syntax error, unexpected tSYMBEG, expecting keyword_do or '{' or '('
--- !ruby/object:Gem::Specification
                 ^
logstash-output-jdbc-5.2.1-java.gemspec:2: syntax error, unexpected ':', expecting end-of-input
name: logstash-output-jdbc
     ^
ERROR:  Error loading gemspec. Aborting.

我做错了什么?我不是一个红宝石程序员,我只需要在那里编辑一些东西。

2 个答案:

答案 0 :(得分:1)

尝试更简单的工作流程

gem open my_gem

这将在您的编辑器中打开已安装的gem的源代码。进行编辑。保存,重新启动您的应用以查看效果。

答案 1 :(得分:0)

OP 有点晚了,但这些步骤对我有用。也许他们会帮助别人:

gem spec pkg-1.2.3.gem --ruby > pkg.spec
gem unpack pkg-1.2.3.gem
mv pkg.spec pkg-1.2.3
cd pkg-1.2.3
gem build pkg.spec

需要--ruby,否则spec文件是yaml。