Ruby:在Win CMD上运行时出现“未安装Zip”错误消息this:buildpack packager--uncached

Ruby:在Win CMD上运行时出现“未安装Zip”错误消息this:buildpack packager--uncached,ruby,cmd,buildpack,rubyzip,Ruby,Cmd,Buildpack,Rubyzip,我正在运行cmd命令buildpack packer-uncached或buildpack packer的任何其他选项。在此之前,我收到了许多错误消息。它们是由manifest.yml的不良内容引起的。我纠正了他们。所以现在我收到这个错误消息:Zip未安装RuntimeError 我使用gem安装来安装zip gem和rubyzip gem,因为第一个不起作用,所以我尝试了第二个。因此,现在两者都无法帮助消除此错误消息 以下是已安装gem列表的一部分: 下面是删除此错误的代码,它是根据文件C:/

我正在运行cmd命令buildpack packer-uncached或buildpack packer的任何其他选项。在此之前,我收到了许多错误消息。它们是由manifest.yml的不良内容引起的。我纠正了他们。所以现在我收到这个错误消息:Zip未安装RuntimeError

我使用gem安装来安装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新手,所以可能我犯了一些基本的错误


提前谢谢

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

我认为您误解了代码:

_,u3;,status=Open3.capture3'哪个邮政编码'

它检查您是否安装了任何zip程序可执行文件,而不是ruby gem库。它实际上执行cmdshell中的哪个zip

例如,在我的系统上,它发现了一个oracle系统:

c:\> which zip
/c/app/oracle/client11g/product/11.2.0/client/bin/zip
然后,如果您在irb中进行测试:


Thx@tukan!我添加了路径变量7-ZIP PATH,但这并没有解决问题。在Windows上安装ZIP应用程序是否有特殊的方法。。要找到上面提到的哪个gem,或者有专门的ZIP应用程序吗?@Andr:正如您可能已经注意到的,which工具最初是一个unix工具。第一步是在系统上安装哪个工具。有吗?如果您拥有它,那么您可以使用@path检查当前路径。不要忘记,如果更改路径,则需要重新启动cmd,这样新路径将被反射到thx@tukan:understand。我的机器上安装了which命令。我根据你的答案查到了,谢谢!!。我现在在windows上。。并希望继续保持胜利。我想安装一个“which”可以找到的zip。不知道我怎么能做到。7-zip在我的工作站上,添加到path变量中。。重新启动命令。。。但是哪个zip会删除相同的错误…在我的示例中,我的path环境变量中有路径C:\app\oracle\client11g\product\11.2.0\client\bin。如果我用dir-zip*检查它,我会得到C:\app\oracle\client11g\product\11.2.0\client\bin->zip。exe@Andr是的,这确实是问题所在。脚本正在检查zip如果需要检查7z,则需要将其调整为所需的7z或安装zip.exe。
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>]
 c:\>which which
/c/prg_sdk/ruby/dev_kit/bin/which