我需要编辑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.
我做错了什么?我不是一个红宝石程序员,我只需要在那里编辑一些东西。
答案 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。