2012-08-22 39 views
14

我正在使用rubyzip壓縮csv文件,因此可以使用它下載它。這在開發模式下完美工作。但是當我嘗試壓縮生產服務器(rackspace)上的文件時,我收到了錯誤:LoadError(無法加載這樣的文件 - zip/zip)。這是路徑問題嗎?任何人都知道一個修復rails 3 - LoadError(無法加載此文件 - zip/zip)

錯誤被稱爲我在這一行代碼:需要「拉鍊/拉鍊」

我試着從here的解決方案,但它並沒有幫助。

+0

沒有這個問題,但萬一有人有關也會有同樣的問題,因爲我 - 與版本> 1.0你應該'需要'拉鍊''不'拉鍊/拉鍊' – kaczor1984

回答

3

我有同樣的問題:「需要'zip/zip'」代碼引發錯誤,並且this post的解決方案也沒有幫助。

經過長期的研究後,我發現,問題是,我的「需要‘拉鍊/拉鍊’」語句是在一個單獨的

lib/exporters/package_exporter.rb 

文件來完成,出於某種原因,「要求」語句不處理在「lib」文件夾下默認生產。

,當我提出「要求‘拉鍊/拉鍊’」來開始我的

app/controllers/packages_controller.rb 

的問題解決了!

+0

你能告訴我一個例子嗎?我遇到同樣的問題,根本無法修復。 –

5

我有active_support類似的問題,只是增加了「拉鍊」寶石我的Gemfile它工作得很好

29

我解決了這個問題,通過在Gemfile中指定的寶石版本0.9.9:

gem 'rubyzip', "~> 0.9.9" 

使用rubyzip(1.0.0)導致錯誤。

+12

或者您也可以添加'gem'zip-zip'',它提供了向後兼容性。 – baxang

18

將rubyzip升級到1.0.0時將require 'zip/zip'更改爲require 'zip'

+1

我認爲這是贏家 – Arcolye

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. 
2

我使用ruby​​zip2寶石來解決這個問題

gem 'rubyzip2' 
6

在將roo添加到Rails項目後,我遇到了這個問題。

Roo需要新的界面,其他的東西(其他一些創業板)正在使用舊的界面 - 所以這些答案中的大部分都不起作用(不能降低rubyzip的版本,rubyzip2已被棄用,沒有在我的項目中需要zip/zip)。

對我而言,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. 
2

什麼對我的工作是安裝2個寶石:
gem install rubyzip gem install zip 和腳本放
require 'rubygems' require 'zip/zip'

相關問題