加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – ruby?? unzip – 使用未初始化的常量ZIP :: Fi

发布时间:2020-12-17 02:49:09 所属栏目:百科 来源:网络整理
导读:我有以下 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.dir
我有以下 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中运行它时,它工作正常并解压缩文件夹,但是当我在ruby 1.8.7中运行相同的centOS 6.6时,它会失败并显示以下内容:

[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

你似乎使用了拉链宝石……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读