Ruby:在Win CMD上运行时,“未安装邮政编码”错误消息:buildpack-packager --unached

时间:2018-06-27 08:34:47

标签: ruby cmd buildpack rubyzip

我正在运行cmd命令buildpack-packer --uncached(或buildpack-packer的任何其他选项)。在此之前,我有很多错误消息。它们是由manifest.yml的错误内容引起的。我纠正了。因此,现在我收到此错误消息:Zip is not installed (RuntimeError)

enter image description here

我使用gem install安装zip gem和rubyzip gem(因为第一个不起作用,所以我尝试了第二个)。因此,现在两者都无助于消除此错误消息。

这是已安装的gem列表的一部分:

enter image description here

这是丢弃此错误的代码(根据文件C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/buildpack-packager-2.3.4/lib/buildpack/packager.rb中的错误消息找到了):

enter image description here

我是Ruby的新手,所以也许我犯了一些非常基本的错误...

提前谢谢!

1 个答案:

答案 0 :(得分:1)

请不要在帖子中使用图片或屏幕截图。仅使用纯文本。

我认为您误解了代码:

_, _, status = Open3.capture3('which zip')

它检查您是否安装了任何zip程序(可执行文件)而不是ruby gem(库)。它实际上在您的cmd shell中执行which zip

例如在我的系统上,它找到了一个甲骨文:

c:\> which zip
/c/app/oracle/client11g/product/11.2.0/client/bin/zip

然后在irb中进行测试:

irb(main):004:0> _, _, status = Open3.capture3('which zip')
=> ["/c/app/oracle/client11g/product/11.2.0/client/bin/zip\n", "", #<Process::Status: pid 10944 exit 0>]

您可以看到已找到可执行文件,并且0指示成功状态。变量status保存返回消息-status => #<Process::Status: pid 10944 exit 0>

我有which的{​​{1}}程序:

dev_kit