Właśnie przeniosłem się na Ubuntu 8.10 jako mój programista; to mój pierwszy poważny wypad do Linuksa jako systemu operacyjnego używanego codziennie i ciężko mi jest uruchomić Railsy. Postępowałem zgodnie z kilkoma samouczkami, z których wszystkie wydają się działać dobrze, ale kiedy próbuję użyć instalacji gem lub aktualizacji gem na czymkolwiek, pojawia się błąd, który wygląda tak:
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:1
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:5
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:167:in `load_and_instantiate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:88:in `[]'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:144:in `find_command'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:131:in `process_args'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:102:in `run'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:58:in `run'
from /usr/local/bin/gem:21
Zainstalowałem (zgodnie z zaleceniami w samouczkach) zlib, zlib1g i zlib1g-dev. Znalazłem nawet kilka samouczków dotyczących tego konkretnego problemu (wszystkie jednak dotyczyły innych smaków niż mój), ale nie pomogły.
Jestem na Ubuntu 8.10, Ruby w wersji 1.8.8dev gem w wersji 1.3.2
Próbowałem przeinstalować ruby i klejnoty oddzielnie, ale bezskutecznie.
Odpowiedzi:
Jeśli napotkasz to pytanie, próbując zainstalować Ruby za pomocą programu Ruby Version Manager (RVM) w systemie Ubuntu 10.04, znajdziesz instrukcje dotyczące instalowania zlib na stronie internetowej rvm http://rvm.beginrescueend.com/packages/zlib/
Kroki są następujące:
(lub
rvm package install zlib
jeśli pojawi się „BŁĄD: Nierozpoznany argument wiersza poleceń: 'pkg'” - starsze wersje rvm zamiast tego używały czasownika 'pakiet')następnie
rvm remove 1.9.1 rvm install 1.9.1
źródło
vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
pkg
drugiej opcji!Używam Ubuntu 10.04 (Lucid), chciałem zainstalować Ruby 1.9.2, ponieważ 1.9.1 nie jest zalecane w Railsach. Więc pobrałem źródło dla 1.9.2 i rozpakowałem / rozpakowałem je. moja dystrybucja źródłowa to ruby-1.9.2-p0. Po rozpakowaniu zbudowałem zlib w następujący sposób:
cd ruby-1.9.2-p0/ext/zlib ruby extconf.rb make sudo make install sudo gem install rails
to rozwiązało problem. Jest to podobne do tego, co inni ludzie opublikowali powyżej, ale nie do końca, więc pomyślałem, że równie dobrze mogę opublikować dokładnie to, co zrobiłem, aby to działało.
źródło
apt-get install zlib1g zlib1g-dev
ale to nie zadziałało (możliwe, żezlib1g-dev
nie został zainstalowany przed skompilowaniem Rubiego).Mam ten sam problem w CentOS i napraw go, wykonując następujące polecenie:
Po pierwsze, upewniam się, że istnieją zlib i zlib-devel (jak wiele sugerowanych powyżej).
Po drugie, ponownie skompilowałem i zainstalowałem źródła zlib, które są dostarczane z rubinem.
cd /home/myname/installers/ruby-1.8.7-p174/ext/zlib/ ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib make make install
Wydaje się, że te polecenia rozwiązują problem, a następnie wykonuję
gem update --system
i błąd z zlib zniknął. Następnie instaluję szyny za pomocą szyn montażowych gem. Uwaga, aby wspomnieć, że wcześniej zainstalowałem gem, a po ponownej kompilacji i zainstalowaniu zlib nie rekompiluję ani nie instaluję gem (właściwie nie wiedziałem, jak go odinstalować, ponieważ nie znalazłem skryptu, który to zrobił)To działa dla mnie ... mam nadzieję, że tak.
Pozdrowienia.
źródło
próbować
Następnie zajmij się swoim biznesem.
źródło
Naprawdę nie podobała mi się żadna z tych odpowiedzi ... żadna tak naprawdę nie skupiała się na rzeczywistych potrzebach i pytaniach użytkowników ... tylko ludzie opowiadający, co zrobili ... bez kontekstu i nawet dla mnie to nie zadziałało ...
Więc, ..
Instaluję nowe pudełko Ubuntu 8.04 LTS 64-bit ...
Więc ja ...
cd ~ wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p180.tar.gz tar -xvvf ruby-1.9.2-p180.tar.gz cd ruby-* ./configure make install sudo make install
A potem mam ten problem z ...
to nie działa ... coś o zLib nie znalazłem bzdur ...
Więc faktycznie CZYTAJ README i stwierdzam, że muszę edytować plik ...
i ODKOMENTUJ wiersz zawierający zLib ... usuwając znak „#” w pierwszej kolumnie
Następnie ponownie uruchamiam polecenia ... zawarte tutaj w celach informacyjnych ...
i wszystko jest w porządku ... to logiczne ... i jest pozbawione "rvm" i innych ... po prostu zainstaluj więcej rzeczy, aby działało ".
Joet
źródło
Po prostu uruchom pakiet źródłowy Ruby, rozpakuj go.
Idź do / twój-ruby-dir / ext / zlib
Jeśli brakuje pakietów, powie ci, głównie pakiety związane z libzlib
pozdrowienia
Saurabh
źródło
rvm package install zlib rvm remove 1.9.1 rvm install 1.9.1
Zrobiło to. Po licznych pogoni za dzikimi gęsiami cieszę się, że znalazłem tę stronę.
źródło
tak, i to też nie zadziałało. Mam to z innego źródła, to w końcu zrobiło to dla mnie tam, gdzie inne rzeczy zawiodły.
wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz tar xvzf ruby-zlib-0.6.0.tar.gz cd ruby-zlib-0.6.0 ruby extconf.rb && make sudo make install
Zainstaluj ponownie ruby gems ze źródła
W każdym razie dzięki, chłopaki.
źródło
Problem polega na tym, że Ruby na Ubuntu nie jest zbudowany na zlib; będziesz chciał zrobić kompilację źródeł, aby zainstalować Rubiego. Możesz to zrobić za pomocą
apt-get source -b ruby
źródło
Czy próbowałeś apt-get install libzlib-ruby?
Zainstaluj także rubygemy z rubyforge. Nie podoba mi się pakiet rubygems w Ubuntu.
źródło
W Debianie (Squeeze):
libruby zawiera zlib dla ruby, pośród wszystkich innych rzeczy potrzebnych do poprawnego działania ruby na Debianie. Więc...
Następnie...
To sprawiło, że to zadziałało, ale Twój przebieg może się różnić. Zrobiłem lekkie podejście strzelby do zlib, zanim stwierdziłem, że wszystko co potrzebne jest pokryte libruby.
źródło
Możesz spróbować pobrać pakiet deb ruby enterprise z witryny phusion . I zainstaluj pasażera za pośrednictwem pakietu. Postępuj zgodnie z instrukcjami tutaj . Możesz też wypróbować skrypt bash znaleziony tutaj .
źródło
Podczas uruchamiania Railsów nie polecałbym używania Ruby 1.8.8dev. Pozostań przy 1.8.6, najlepiej Ruby Enterprise Edition. Zobacz ten post na RailsLab, czego używają inni ludzie.
Jeśli nalegasz na zaawansowaną technologię, zainstaluj Ruby 1.9.1.
Ale w obu przypadkach zbuduj go samodzielnie lub skorzystaj z sugestii Maransa.
źródło