rubycmdbuildpackrubyzip

Ruby: 'Zip is not installed' error message when running on Win CMD this: buildpack-packager --uncached


I'm running cmd command buildpack-packer --uncached (or any other option of buildpack-packer). I had many error messages prior that. They were caused by bad content of manifest.yml. I corrected them. So now I receive this error message: Zip is not installed (RuntimeError)

enter image description here

I used gem install to install zip gem and rubyzip gem (as first did not work, so I tried a second). So now both not helping to get rid of this error message.

Here is a part of the installed gem list:

enter image description here

And here is the code that drops this error (found it based on the error message in file: C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/buildpack-packager-2.3.4/lib/buildpack/packager.rb):

enter image description here

I'm quite new in Ruby, so maybe I do some very basic mistake...

Thx in advance!!


Solution

  • Please don't use pictures or screenshots in your post. Use plaintext only.

    I think you are misunderstanding the code:

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

    It checks if you have any zip program (executable) installed not a ruby gem (library). It actually executes which zip in your cmd shell.

    For example on my system it found an oracle one:

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

    Then if you test it in 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>]
    

    You can see that the executable was found and success state is indicated by the 0. The variable status holds the return message - status => #<Process::Status: pid 10944 exit 0>

    I have the which program from dev_kit:

     c:\>which which
    /c/prg_sdk/ruby/dev_kit/bin/which