zlib에서 우분투 레일 설치 실패


128

방금 dev 상자로 우분투 8.10으로 옮겼습니다. 그것은 매일 사용하는 OS로서 리눅스에 대한 첫 번째 진지한 전망이며 Rails를 사용하는 데 어려움을 겪고 있습니다. 나는 모두 잘 작동하는 많은 튜토리얼을 따랐지만 gem install 또는 gem update를 사용하려고 시도하면 다음과 같은 오류가 발생합니다.

/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

튜토리얼에서 권장하는대로 zlib, zlib1g 및 zlib1g-dev를 설치했습니다. 나는이 특정 문제에 대한 몇 가지 자습서를 찾았지만 (나를 제외한 다른 풍미에 대해서는 모두 도움이되지 않음).

우분투 8.10, 루비 버전 1.8.8dev gem 버전 1.3.2에 있습니다.

나는 루비와 보석을 각각 따로 다시 설치하려고 시도했지만 아무 소용이 없습니다.


23
"우분투 놈 레일 설치가 zlib에서 실패합니다"와우. 그것은 가장 아름다운시와 같습니다.
Nosredna

3
apt-get install zlib1g zlib1g-dev는 우분투 10.04에서 나를 위해 일했습니다
bioneuralnet


답변:


297

Ubuntu 10.04에서 RVM (Ruby Version Manager)을 사용하여 Ruby를 설치하려는 경우이 질문이 나타나면 rvm 웹 사이트 http://rvm.beginrescueend.com/packages/zlib/ 에 zlib를 설치하는 방법이 있습니다.

단계는 다음과 같습니다.

rvm pkg install zlib

(또는 rvm package install zlib"오류 : 인식 할 수없는 명령 줄 인수 : 'pkg'"가 표시되는 경우-이전 버전의 rvm은 대신 'package'동사를 사용함)

그때

rvm remove 1.9.1
rvm install 1.9.1

33
1.9.2에 대한 약간의 변형으로 훌륭하고 동일한 접근법이 저에게 효과적이었습니다. vm package install zlib; rvm 제거 1.9.2-p0; rvm install 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
훌륭합니다. 왜 avm을 통해 설치된 zlib에서도 rvm이 데비안에서 작동하지 않는지 궁금했습니다.
Martin DeMello

11
같은 문제가 있었고 마침내 이것이 나를 위해 일한 것을 발견했습니다.vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog

고마워요! 나는이 같은 문제가 있었다. 우분투에서 "1.9.1"을 "ree"로 바꾸어야했습니다. +1!
kikito

1
pkg두 번째 옵션 을 포함 해 주셔서 감사합니다 !
저스틴

52

Ubuntu 10.04 (Lucid)를 사용하고 있는데 Rails에서는 1.9.1이 권장되지 않기 때문에 ruby ​​1.9.2를 설치하고 싶었습니다. 그래서 1.9.2의 소스를 다운로드하여 압축을 풀거나 보관하지 않았습니다. 내 소스 배포판은 ruby-1.9.2-p0입니다. 압축을 푼 후 다음과 같이 zlib를 빌드했습니다.

cd ruby-1.9.2-p0/ext/zlib
ruby extconf.rb
make
sudo make install
sudo gem install rails

문제를 해결했습니다. 이것은 다른 사람들이 위에 게시 한 것과 유사하지만 정확하게는 아니므로 내가 그것을하기 위해 내가 한 일을 정확하게 게시 할 수 있다고 생각했습니다.


2
이것은 내가 찾은 최고의 리소스입니다. rvm없이 소스에서 루비를 설치하고 zlib에 문제가 발생합니다. 이 게시물 도움이 많이. 감사합니다!
크리스티안

1
감사합니다! 1.9.2-p136 / Ubuntu 10.04.1의 문제를 수정합니다.
mgutz

감사합니다. 1.9.2-p180 / Red Hat 4.1.2-46의 문제도 해결합니다.
adelarsq

이것은 Ubnutu 11.04 / Ruby 1.9.2-p180에서 작동했습니다. 시도 apt-get install zlib1g zlib1g-dev했지만 작동하지 않았습니다 ( zlib1g-dev루비를 컴파일하기 전에 설치되지 않았을 수 있음 ).
Max Masnick

소스에서 루비를 설치할 때에도 이것이 필요한 것 같습니다. 확실하지 왜 기본적으로 설치 아니에요
nimrodm

22

CentOS에서 동일한 문제가 있으며 다음 명령을 실행하여 수정하십시오.

먼저 zlib 및 zlib-devel이 존재하는지 확인합니다 (위에서 제안한 많은 것).

yum install zlib zlib-devel

둘째, 루비와 함께 제공되는 zlib 소스를 다시 컴파일하고 설치했습니다.

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

이 명령은 문제를 해결하는 것처럼 보이며 실행 gem update --system하고 zlib의 오류가 사라졌습니다. 그런 다음 gem 설치 레일로 레일을 설치합니다. 참고로 gem을 설치하고 zlib를 다시 컴파일하고 설치 한 후에도 gem을 다시 컴파일하지 않습니다 (실제로 스크립트를 찾지 못했기 때문에 제거 방법을 알 수 없음)

그것은 나를 위해 작동합니다 ... 당신에게 희망.

문안 인사.


13

시험

aptitude install zlib1g-dev

그런 다음 비즈니스에 대해 알아보십시오.


루비 소스와 함께 제공되는 zlib를 컴파일하기 전에 실제로이 작업을 수행해야했습니다
Jeremy White

8

나는 실제로이 답변을 좋아하지 않았습니다 ... 실제로 사용자의 실제 요구와 질문에 중점을 둔 사람은 없었습니다.

그래서 ..

새 상자 우분투 8.04 LTS 64 비트를 설치하고 있습니다 ...

그래서 나는 ...

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  

그리고이 문제가 있습니다 ...

gem list

그것은 작동하지 않습니다 ... zLib에 대해 뭔가 쓰레기를 찾을 수 없습니다 ...

따라서 실제로 README를 읽고 파일을 편집해야한다는 것을 알았습니다 ...

[my ruby source directory]/ext/Setup

zLib로 줄을 주석 해제하십시오 ... 첫 번째 열에서 "#"을 제거하여

그런 다음 참조를 위해 여기에 포함 된 명령을 다시 실행합니다 ...

./configure
make  
install  
sudo make install  

그리고 모든 것이 잘됩니다 ... 그것은 논리적이며 ... "rvm"과 다른 ... "작동하기 위해 더 많은 것들을 설치하십시오"유형 솔루션이 없습니다.

조이


나를 위해 도움이되지 않습니다. 나는 readme도 읽었고 지시를 따랐지만 여전히 루비 보석이 작동하지 않고 zlib가 없다고 말했지만 ...
Jenny

실제로 대답은 rvm을 사용할 때 일반적인 문제이므로 관련이 있습니다. 귀하의 답변은 rvm을 사용하지 않는 사람들에게 더 적합합니다.
foamdino

7

Ruby Source Package로 이동하여 압축을 풉니 다.

/ your-ruby-dir / ext / zlib로 이동

ruby extconf.rb
make
sudo make install

패키지가 없으면 주로 libzlib 관련 패키지를 알려줍니다.

문안 인사

사우 라브



4

네, 그 일도하지 않았습니다. 이것을 다른 출처에서 얻었습니다.

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

소스에서 루비 젬 재설치

어쨌든 고마워


1
extconf.rb를 실행하는 데 문제가있었습니다. zlib-devel을 설치하여 (아마도) 해결했습니다.
의 Gregers

여기에서도 마찬가지입니다. 다른 모든 것을 시도하고 마침내 blue.sky.or.jp가 저를 구했습니다. 감사.
abhishek

2

문제는 Ruby on Ubuntu가 zlib에 대해 빌드되지 않았다는 것입니다. Ruby를 설치하기 위해 소스 빌드를하고 싶을 것입니다. 당신은 이것을 할 수 있습니다apt-get source -b ruby


그래, 리눅스 멍청 아 방금 무슨 말을했는지 모르겠습니다. lol. 나는 명령을 이해합니다. 하지만 그 후에는 어떻게해야합니까?
Paul

글쎄, 지금도 그다지 효과가 없었습니다. "빌드 명령 'cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc'실패"오류가 발생했습니다
Paul

2

apt-get install libzlib-ruby를 사용해 보셨습니까?

또한 rubyforge에서 rubygems를 설치하십시오. 우분투의 rubygems 패키지가 마음에 들지 않습니다.


2

데비안 (Squeeze) :

libruby에는 데비안에서 루비를 제대로 작동시키는 데 필요한 다른 모든 것들 중에서 루 비용 zlib이 포함되어 있습니다. 그래서...

apt-get install libruby

그때...

cd /usr/local/src/ruby
make clean
make
make install
cd ../rubygems
ruby setup.rb
gem install rails

이로 인해 효과가 있었지만 마일리지가 다를 수 있습니다. 필요한 모든 것이 libruby로 덮여 있음을 발견하기 전에 zlib에 약간의 샷건 접근법을 시도했습니다.


1

phusion 사이트 에서 ruby ​​enterprise deb 패키지를 다운로드 할 수 있습니다. 그리고 패키지를 통해 승객을 설치하십시오. 여기 의 지침을 따르십시오 . 또는 여기 에서 찾은 bash 스크립트를 사용해보십시오 .


0

Rails를 실행할 때는 Ruby 1.8.8dev를 사용하지 않는 것이 좋습니다. 1.8.6, 바람직하게는 Ruby Enterprise Edition을 고수하십시오. 다른 사람들이 사용 하고있는 RailsLab 의이 게시물을 참조하십시오 .

하이테크를 고집한다면 Ruby 1.9.1을 설치하십시오.

그러나 두 경우 모두 직접 작성하거나 Marans 제안을 사용하십시오.


이것은 나쁜 조언입니다. 1.9.1을 레일과 함께 사용하지 마십시오. 그러나 1.9.2 이상은 잘 작동합니다.
xaxxon

그 의견은 2 년 전에 나왔습니다 ... 이제 1.9.3이 갈 것입니다.
피해

물론 난 괜찮아 그러나 누군가가 그것이 틀렸다는 것을 아는 것이 중요합니다.
xaxxon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.