我正在使用rubyzip压缩csv文件,因此用户可以下载它。这在开发模式下完美运行。但是当我尝试在生产服务器(rackspace)上压缩文件时,我收到错误:LoadError(无法加载此类文件 - zip / zip)。这是路径问题吗?有人知道修复吗?
我的代码在此行调用错误:require'zip / zip'
我已尝试过来自here的解决方案,但它没有帮助。
答案 0 :(得分:29)
我通过在Gemfile中指定gem版本0.9.9修复了这个问题:
gem 'rubyzip', "~> 0.9.9"
使用rubyzip(1.0.0)导致错误。
答案 1 :(得分:18)
将rubyzip升级到1.0.0时,将require 'zip/zip'
更改为require 'zip'
。
答案 2 :(得分:7)
将roo添加到Rails项目后,我遇到了这个问题。
Roo需要新的界面,其他东西(其他一些宝石)正在使用旧界面 - 所以这些答案中的大多数都没有用(无法降低rubyzip的版本,rubyzip2已被弃用,没有&我的项目中需要拉链/拉链。
对我来说有用的是cassio-s-cabral关于rubyzip github页面的回答。
gem 'rubyzip', '>= 1.0.0' # will load new rubyzip version gem 'zip-zip' # will load compatibility for old rubyzip API.
答案 3 :(得分:5)
我有一个与active_support类似的问题,只是将'zip'gem添加到我的Gemfile中它运行良好
答案 4 :(得分:3)
我遇到了同样的问题:“require'zip / zip'”代码出现错误,而this post的解决方案也没有帮助。
经过长时间的研究后,我发现问题在于我的“require'zip / zip'”声明是在一个单独的
中完成的。lib/exporters/package_exporter.rb
文件,由于某种原因,“require”语句默认情况下不会在生产中的“lib”文件夹中处理。
当我将“require'zip / zip'”移到我的
开头时app/controllers/packages_controller.rb
问题解决了!
答案 5 :(得分:2)
我使用 rubyzip2 gem修复此问题
gem 'rubyzip2'
答案 6 :(得分:2)
gem install rubyzip
gem install zip
并在脚本中放入
require 'rubygems'
require 'zip/zip'
答案 7 :(得分:0)
他们的github page解释了该怎么做。
Rubyzip界面改变了!无需“zip / zip”和Zip 删除了类名中的前缀。
如果您遇到任何第三方宝石的问题,那么旧版需要什么 你可以使用下一个解决方法的rubyzip版本:
gem 'rubyzip', '>= 1.0.0' # will load new rubyzip version
gem 'zip-zip' # will load compatibility for old rubyzip API.