我正在运行cmd命令buildpack-packer --uncached
(或buildpack-packer的任何其他选项)。在此之前,我有很多错误消息。它们是由manifest.yml的错误内容引起的。我纠正了。因此,现在我收到此错误消息:Zip is not installed (RuntimeError)
我使用gem install
安装zip gem和rubyzip gem(因为第一个不起作用,所以我尝试了第二个)。因此,现在两者都无助于消除此错误消息。
这是已安装的gem列表的一部分:
这是丢弃此错误的代码(根据文件C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/buildpack-packager-2.3.4/lib/buildpack/packager.rb
中的错误消息找到了):
我是Ruby的新手,所以也许我犯了一些非常基本的错误...
提前谢谢!
答案 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