2012-08-22 39 views
14

Estoy usando rubyzip para comprimir un archivo csv para que los usuarios puedan descargarlo. Esto funciona perfectamente en modo de desarrollo. Pero cuando traté de comprimir el archivo en el servidor de producción (espacio en rack) recibí el error: LoadError (no se puede cargar ese archivo - zip/zip). ¿Es un problema de ruta? Alguien sabe una solución?rails 3 - LoadError (no se puede cargar dicho archivo - zip/zip)

El error que se está llamando en mi código en esta línea: require 'zip/postal'

He intentado la solución de here, pero no sirvió de nada.

+0

No relacionado con esta pregunta, pero en caso de que alguien va a tener el mismo problema que yo - con las versiones> 1.0 debe 'requerir 'zip'' no' zip/zip ' – kaczor1984

Respuesta

3

Tuve el mismo problema: el error arrojado en el código "requiere 'zip/zip'", y la solución de this post tampoco ayudó.

Después de una larga investigación, he encontrado que el problema era que mi "requieren 'zip/postal'" declaración fue hecha en un archivo separado

lib/exporters/package_exporter.rb 

, y por alguna razón "requiere" declaraciones no se manejan en la carpeta "lib" en producción por defecto.

Cuando me mudé "require 'zip/postal'" al principio de mi

app/controllers/packages_controller.rb 

el problema fue resuelto!

+0

¿Puede mostrarme un ejemplo? Estoy teniendo el mismo problema y no puedo solucionarlo en absoluto. –

5

tuve un problema similar con active_support, acaba de añadir la gema 'zip' a mi Gemfile y funcionó bien

29

He arreglado este problema mediante la especificación de la gema versión 0.9.9 en Gemfile:

gem 'rubyzip', "~> 0.9.9" 

El uso de rubyzip (1.0.0) provocó un error.

+12

O también puede agregar 'gem 'zip-zip'' que proporciona compatibilidad con versiones anteriores. – baxang

18

Al actualizar rubyzip a 1.0.0, cambie require 'zip/zip' a require 'zip'.

+1

Creo que este es el ganador – Arcolye

0

En su github page explica qué hacer.

Rubyzip interface changed !!! No es necesario que requiera "zip/zip" y el prefijo Zip en los nombres de clase eliminados.

Si tiene problemas con las gemas de terceros lo requerían vieja versión de rubyzip puede utilizar junto solución:

gem 'rubyzip', '>= 1.0.0' # will load new rubyzip version 
gem 'zip-zip' # will load compatibility for old rubyzip API. 
2

estoy utilización rubyzip2 joya para solucionar este problema

gem 'rubyzip2' 
6

Tuve este problema después de agregar roo a un proyecto de Rails.

Roo necesitaba la nueva interfaz, algo más (alguna otra gema) estaba usando la interfaz anterior, por lo que la mayoría de estas respuestas no funcionaron (no se pudo bajar la versión de rubyzip, rubyzip2 está en desuso, no tenía requiere zip/zip en mi proyecto).

Lo que funcionó para mí fue la respuesta de cassio-s-cabral refiriéndose a la página rubyzip github.

 
gem 'rubyzip', '>= 1.0.0' # will load new rubyzip version 
gem 'zip-zip' # will load compatibility for old rubyzip API. 
2

lo que el trabajo para mí fue la instalación de 2 gemas:
gem install rubyzip gem install zip y en la secuencia de comandos put
require 'rubygems' require 'zip/zip'

Cuestiones relacionadas