У меня есть следующий код: рубиновыйрубин распакуйте - терпит неудачу с неинициализированного постоянной ZIP :: Файл
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 рубин 2.0.0p481 он прекрасно работает и расстегивает папку, но когда я бегу то же самое в CentOS 6.6 в рубин 1.8.7 это терпит неудачу со следующим:
[[email protected] ~]# 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...
Вы уже установили комплект? –
@Alif Jamaluddin - Я сделал [root @ ip-10-201-90-206 ~] # gem install zip Успешно установлен zip-2.0.2 Установлен 1 камень Установка документации ri для zip-2.0.2. .. Установка документации по RDoc для zip-2.0.2 ... – Scooby
Вам необходимо использовать gim rubyzip @Scooby – Prashant4224