gpt4 book ai didi

ruby-on-rails - ruby 解压缩 - 因未初始化常量 ZIP::File 而失败

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:43 24 4
gpt4 key购买 nike

我有以下 ruby 代码:

require 'HTTPClient'
require 'rubygems'
require 'zip'

def self.unzip(data, dest_dir)
::Zip::File.open_buffer(data) do |fzip|
fzip.each do |entry|
path = File.join(dest_dir, entry.name)
puts "here"
FileUtils::mkdir_p(File.dirname(path))
fzip.extract(entry, path) unless File.exist?(path)
#fzip.close
end
end
end

def self.fetch_from_url(url, dest_dir)
response = HTTPClient.get(url, follows_redirect: true)
if response.status == 200
unzip(response.body, dest_dir)
else
raise 'Could not fetch files from 3scale'
end
end


url = 'link/artifactory/zip-release-local/djin/3Sroxy/1.0.5/configuration.zip'
fetch_from_url(url, "/Users/something/")

当我在 Mac ruby​​ 2.0.0p481 中运行它时它工作正常并解压缩文件夹,但是当我在 centOS 6.6 中的 ruby​​ 1.8.7 中运行它时它失败并显示以下内容:

[root@ip-10-201-90-206 ~]# sudo ruby test/ex.rb 
test/ex.rb:7:in `unzip': uninitialized constant Zip::File (NameError)
from test/ex.rb:20:in `fetch_from_url'
from test/ex.rb:28

另外,我已经完成了:

gem install zip  
Successfully installed zip-2.0.2
1 gem installed
Installing ri documentation for zip-2.0.2...
Installing RDoc documentation for zip-2.0.2...

最佳答案

如 Prashant4224 所述,您需要安装

gem install rubyzip

你似乎使用了zip Gem...

关于ruby-on-rails - ruby 解压缩 - 因未初始化常量 ZIP::File 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com