rails 3 - LoadError(无法加载此类文件 - zip / zip)

时间:2012-08-22 18:33:17

标签: ruby-on-rails-3 rubygems rubyzip

我正在使用rubyzip压缩csv文件,因此用户可以下载它。这在开发模式下完美运行。但是当我尝试在生产服务器(rackspace)上压缩文件时,我收到错误:LoadError(无法加载此类文件 - zip / zip)。这是路径问题吗?有人知道修复吗?

我的代码在此行调用错误:require'zip / zip'

我已尝试过来自here的解决方案,但它没有帮助。

8 个答案:

答案 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)

我使用 ruby​​zip2 gem修复此问题

gem 'rubyzip2'

答案 6 :(得分:2)

对我来说,安装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.