2012-08-22 15 views
14

Używam programu rubyzip do zip pliku csv, aby użytkownicy mogli go pobrać. Działa to doskonale w trybie programowania. Ale gdy próbowałem skompresować plik na serwerze produkcyjnym (rackspace), otrzymałem błąd: LoadError (nie mogę załadować takiego pliku - zip/zip). Czy to jest kwestia ścieżki? Ktoś zna poprawkę?szyny 3 - LoadError (nie można załadować takiego pliku - zip/zip)

Błąd jest nazywany w moim kodu na tej linii: require „zip/zip”

Próbowałem roztwór z here, ale to nie pomogło.

+0

nie związane z tym pytaniem, ale w przypadku gdy ktoś będzie miał ten sam problem jak ja - w wersjach> 1.0 powinieneś "wymagać" zip'' nie 'zip/zip' – kaczor1984

Odpowiedz

3

Miałem ten sam problem: błąd został zgłoszony w "wymagającym" pliku zip/zip ", a rozwiązanie z this post również nie pomogło.

Po długich badaniach okazało się, że problemem było to, że mój „require«zip/zip»” oświadczenie zostało zrobione w oddzielnym

lib/exporters/package_exporter.rb 

pliku, iz jakiegoś powodu „wymaga” oświadczenia nie są obsługiwane domyślnie w katalogu "lib" w produkcji.

Kiedy przeprowadziłem "require 'zip/zip'" na początku mojego

app/controllers/packages_controller.rb 

problem został rozwiązany!

+0

Czy możesz pokazać mi przykład? Mam ten sam problem i nie mogę go naprawić. –

5

Miałem podobny problem z active_support, po prostu dodaje 'zip' gem do mojego Gemfile i to działało dobrze

29

naprawiłem ten problem, określając gem wersji 0.9.9 w Gemfile:

gem 'rubyzip', "~> 0.9.9" 

Użycie polecenia rubyzip (1.0.0) spowodowało błąd.

+12

Możesz też dodać "zip-zip", który zapewnia kompatybilność wsteczną. – baxang

18

Podczas aktualizacji rubyzip do wersji 1.0.0 zmień require 'zip/zip' na require 'zip'.

+1

Myślę, że to zwycięzca – Arcolye

0

W ich github page wyjaśniono, co robić.

Zmieniono interfejs Rubizip !!! Nie ma potrzeby, aby wymagać "zip/zip" i Zip przedrostek w nazwach klas usunięte.

Jeśli masz jakiekolwiek problemy z klejnotów trzecich co wymaganych stare wersję rubyzip można użyć następnego rozwiązania:

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

jestem używać rubyzip2 gem Aby rozwiązać ten problem

gem 'rubyzip2' 
6

Miałem ten problem po dodaniu roo do projektu Rails.

Roo potrzebował nowego interfejsu, coś innego (jakiś inny klejnot) korzystał ze starego interfejsu - więc większość z tych odpowiedzi nie działała (nie mogła obniżyć wersji rubyzip, rubyzip2 jest przestarzała, nie miała wymagają zip/zip w moim projekcie).

To, co zadziałało dla mnie, to odpowiedź cassio-s-cabral dotycząca strony rubyzip github.

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

co praca dla mnie było zainstalowanie 2 perełki:
gem install rubyzip gem install zip i w skrypcie umieścić
require 'rubygems' require 'zip/zip'

Powiązane problemy