การติดตั้งราง Ubuntu ล้มเหลวบน zlib


128

ฉันเพิ่งย้ายไปยัง Ubuntu 8.10 เป็นกล่อง dev ของฉัน มันเป็นการโจมตีครั้งแรกของฉันใน Linux ในฐานะระบบปฏิบัติการที่ใช้ประจำวันและฉันก็ลำบากมากที่ Rails จะเริ่มทำงาน ฉันได้ติดตามบทเรียนจำนวนหนึ่งซึ่งดูเหมือนว่าจะทำงานได้ดี แต่เมื่อฉันลองและใช้ติดตั้ง gem หรืออัพเดตอัญมณีในทุกสิ่งฉันได้รับข้อผิดพลาดที่มีลักษณะดังนี้:

/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 ฉันได้พบบทเรียนบางอย่างเกี่ยวกับปัญหานี้ (ทั้งหมดสำหรับรสชาติที่ไม่ใช่ของฉัน) แต่พวกเขาไม่ได้ช่วย

ฉันใช้ Ubuntu 8.10, ruby ​​version 1.8.8dev gem เวอร์ชั่น 1.3.2

ฉันได้ลองติดตั้งทับทิมและอัญมณีใหม่อีกครั้งโดยแยกกันเพื่อไม่ให้เกิดประโยชน์


23
"Ubuntu ติดตั้งราง noob ล้มเหลวบน zlib" ว้าว นั่นเหมือนบทกวีที่สวยที่สุดเท่าที่เคยมีมา
Nosredna

3
apt-get install zlib1g zlib1g-dev ทำงานให้ฉันบน Ubuntu 10.04
bioneuralnet


ลิงค์นี้ยังช่วยในการ stackoverflow.com/questions/9727908/…
บรูซ

คำตอบ:


297

หากคุณเจอคำถามนี้พยายามติดตั้ง Ruby โดยใช้ Ruby Version Manager (RVM) บน Ubuntu 10.04 มีคำแนะนำในการติดตั้ง zlib บนเว็บไซต์ rvm ที่http://rvm.beginrescueend.com/packages/zlib/

ขั้นตอนคือ:

rvm pkg install zlib

(หรือ rvm package install zlibถ้าคุณได้รับ "ข้อผิดพลาด: อาร์กิวเมนต์บรรทัดคำสั่งที่ไม่รู้จัก: 'pkg'" - เวอร์ชันเก่ากว่าของ rvm ใช้คำกริยา 'แพ็คเกจ' แทน)

แล้วก็

rvm remove 1.9.1
rvm install 1.9.1

33
วิธีการเดียวกันที่ยอดเยี่ยมใช้ได้กับฉันด้วยการเปลี่ยนแปลงเล็กน้อยสำหรับ 1.9.2: การติดตั้งแพ็คเกจ vm zlib; rvm ลบ 1.9.2-p0; ติดตั้ง rvm 1.9.2-p0 - ด้วย -zlib-dir = $ rvm_path / usr
ทำให้เข้าใจยาก

1
ที่ยอดเยี่ยมผมก็สงสัยว่าทำไม RVM ไม่ได้ทำงานบนเดเบียนแม้จะมีการติดตั้งผ่าน zlib ฉลาด
มาร์ติน 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" ใน Ubuntu +1!
kikito

1
ขอบคุณที่รวมpkgตัวเลือกที่สอง!
Justin

52

ฉันใช้ Ubuntu 10.04 (Lucid) ฉันต้องการติดตั้ง ruby ​​1.9.2 เพราะ 1.9.1 ไม่แนะนำให้ใช้กับ Rails ดังนั้นฉันจึงดาวน์โหลดแหล่งข้อมูลสำหรับ 1.9.2 และคลายซิป / ยกเลิกการเก็บถาวร distro ต้นทางของฉันคือ 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ไม่ได้ติดตั้งไว้ก่อนที่ฉันจะรวบรวม Ruby)
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 มาก่อนและหลังจากคอมไพล์ใหม่และติดตั้ง zlib ฉันไม่คอมไพล์ไม่ติดตั้ง gem (อันที่จริงฉันไม่รู้วิธีถอนการติดตั้งเพราะฉันไม่พบสคริปต์ที่จะทำ)

ที่เหมาะกับฉัน ... หวังว่าคุณจะ

ความนับถือ.


13

ลอง

aptitude install zlib1g-dev

จากนั้นไปเกี่ยวกับธุรกิจของคุณ


ที่จริงฉันต้องทำก่อนที่จะสามารถรวบรวม zlib ที่มาพร้อมกับแหล่งทับทิม
Jeremy White

8

ฉันไม่ชอบคำตอบใด ๆ เหล่านี้ ... ไม่มีใครสนใจความต้องการและคำถามของผู้ใช้จริง ๆ ... แค่มีคนบอกว่าพวกเขาทำอะไร ... ไม่มีบริบทและมันก็ไม่ได้ผลสำหรับฉัน ...

ดังนั้น ..

ฉันกำลังติดตั้งกล่องใหม่ Ubuntu 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" และอื่น ๆ ... "เพียงแค่ติดตั้งสิ่งเพิ่มเติมเพื่อให้มันทำงานได้" โซลูชั่นประเภท

Joet


ไม่ช่วยฉัน ฉันอ่าน readme ด้วยแล้วก็ทำตามคำแนะนำ แต่แม้หลังจากที่ฉันยังคงไม่สามารถทำงานทับทิมพลอยได้ แต่มันยังบอกว่าไม่มี zlib ...
Jenny

จริงๆแล้วคำตอบนั้นมีความเกี่ยวข้องเพราะนี่เป็นปัญหาที่พบบ่อยเมื่อใช้ rvm คำตอบของคุณเหมาะสำหรับผู้ที่ไม่ได้ใช้ rvm
foamdino

7

เพิ่งได้รับแพ็คเกจ Ruby Source ให้ทำการ Unzip

ไปที่ / your-ruby-dir / ext / zlib

ruby extconf.rb
make
sudo make install

หากแพ็กเกจหายไปมันจะบอกคุณส่วนใหญ่แพคเกจที่เกี่ยวข้องกับ libzlib

ความนับถือ

Saurabh


6
rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1

นั่นมัน หลังจากการไล่ล่าห่านป่าจำนวนมากฉันดีใจที่ฉันพบหน้านี้


1
FYI - 'แพ็คเกจ' ถูกเปลี่ยนเป็น 'pkg' ในเวอร์ชัน rvm ที่ใหม่กว่า ดูgithub.com/wayneeseguin/rvm/pull/345
John MacIntyre

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 บน Ubuntu ไม่ได้สร้างกับ zlib; คุณจะต้องสร้างซอร์สเพื่อติดตั้ง Ruby คุณสามารถทำได้ด้วยapt-get source -b ruby


ตกลงอีกครั้ง linux noob ไม่ทราบว่าคุณเพิ่งพูดอะไร ฮ่า ๆ. ฉันหมายถึงฉันเข้าใจคำสั่ง; แต่ฉันจะทำอะไรหลังจากนั้น
พอล

เอาล่ะตอนนี้ถึงแม้จะไม่ได้ผลก็ตาม ผมได้รับ "คำสั่งสร้าง 'cd ทับทิมค่าเริ่มต้น-4.2 && dpkg-buildpackage -b -uc' ล้มเหลวผิดพลาด"
พอล

2

คุณลอง apt-get install libzlib-ruby หรือยัง?

ติดตั้ง rubygems จาก rubyforge ด้วย ฉันไม่ชอบแพ็คเกจ rubygems ใน Ubuntu


2

บน Debian (บีบ):

libruby มี zlib สำหรับทับทิมในบรรดาสิ่งอื่น ๆ ที่คุณจะต้องทำให้ทับทิมทำงานอย่างถูกต้องบน Debian ดังนั้น...

apt-get install libruby

จากนั้น ...

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

นี่ทำให้มันใช้ได้สำหรับฉัน แต่ระยะทางของคุณอาจแตกต่างกันไป ฉันใช้วิธีปืนลูกซองเล็กน้อยเพื่อ zlib ก่อนที่จะพบว่าทุกสิ่งที่ต้องการถูกปกคลุมด้วยบรรณารักษ์


1

คุณสามารถลองดาวน์โหลดแพ็คเกจ deb องค์กร ruby ​​บนเว็บไซต์phusion และติดตั้งผู้โดยสารผ่านแพ็คเกจ ทำตามคำแนะนำที่นี่ หรือคุณอาจจะลองทุบตีสคริปต์ที่พบที่นี่


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.