ไม่พบสัญลักษณ์ Ruby Bundle: _SSLv2_client_method (LoadError)


249

ฉันกำลังพยายามที่จะทำการปรับปรุงบางอย่างเพื่อ openssl โดยใช้ homebrew และฉันก็พยายามที่จะทำลายทุกอย่าง ฉันไม่สามารถทำอะไรได้เลยนี่คือสิ่งที่ฉันจะได้รับเมื่อฉันพยายามติดตั้งชุดข้อมูล:

$ bundle install
/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in    `require': dlopen(/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError)
Referenced from: /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
in /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/openssl.rb:17:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/security.rb:11:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/package.rb:43:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/dependency_installer.rb:3:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/installer.rb:2:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli/install.rb:78:in `run'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli.rb:146:in `install'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/command.rb:27:in `run'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/invocation.rb:121:in `invoke_command'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor.rb:363:in `dispatch'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/base.rb:440:in `start'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli.rb:9:in `start'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/bin/bundle:20:in `block in <top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/friendly_errors.rb:5:in `with_friendly_errors'
    from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/bin/bundle:20:in `<top (required)>'
    from /Users/asServer/.rbenv/versions/2.1.2/bin/bundle:23:in `load'
    from /Users/asServer/.rbenv/versions/2.1.2/bin/bundle:23:in `<main>'

2
SSLv2 SSLv2_client_methodเสียจึงมีเกือบเหตุผลสำหรับรหัสจะไม่มี คุณสามารถเปิดไฟล์ Ruby และแสดงความคิดเห็นการอ้างอิงถึงวิธี SSLv2 ได้หรือไม่ สาเหตุเป็นlibsslใน/usr/local/opt/openssl/libการกำหนดค่าด้วยno-ssl2( แต่ก็ไม่ควรจะมีปัญหาในปี 2014)
jww

คำตอบ:


287

ฉันเพิ่งแก้ไขปัญหาที่คล้ายกันในระบบของฉัน คุณต้องสร้างการติดตั้ง Ruby 2.1.2 อีกครั้งและจะเชื่อมโยงกับ SSL ที่เพิ่งอัพเดตใหม่

$ rbenv install 2.1.2
rbenv: /Users/ryan/.rbenv/versions/2.1.2 already exists
continue with installation? (y/N) y
Downloading ruby-2.1.2.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635
Installing ruby-2.1.2...
Installed ruby-2.1.2 to /Users/ryan/.rbenv/versions/2.1.2

สิ่งนี้เกิดขึ้นหลังจากการติดตั้ง ruby ​​1.9.3 ใหม่ผ่าน rvm ใหม่ Mac และฐานรหัสเก่า ฉันต้องการ openssl รุ่นอื่นหรือไม่?
digidigo

8
@ twelve17 ข้อผิดพลาดเกี่ยวข้องกับการไม่สามารถค้นหาไลบรารี SSL และ OP กล่าวว่าเพิ่งอัพเกรด openssl เวอร์ชันที่ติดตั้งไว้ ฉันมีปัญหาเดียวกันกับสถานการณ์การอัพเกรดเดียวกัน ฉันสงสัยว่าการติดตั้งใหม่จะแก้ไขสิ่งต่าง ๆ โดยทำให้ Ruby ถูกสร้างขึ้นเทียบกับไลบรารี่ที่อัพเกรดแล้ว (ไม่พบไลบรารี่เก่า)
Ryan Dlugosz

7
เพียงเพื่อเพิ่มสิ่งนี้หากผู้ใช้ boxen เจอสิ่งนี้ - ฉันไม่สามารถรับ rbenv เพื่อติดตั้งใหม่โดยใช้คำสั่งด้านบน - ดังนั้นฉันต้องถอนการติดตั้งและติดตั้ง 2.1.2 โดยใช้ rbenv rbenv uninstall 2.1.2 rbenv install 2.1.2 bundle
jeffsaracco

4
หลังจากอัพเกรดโยเซมิตีฉันมีปัญหานี้ การทำงานด้านบน แต่หลังจากฉันเปลี่ยนเส้นทาง gcc ของฉันเท่านั้น export CC=/usr/bin/gccสำหรับข้อมูลเพิ่มเติม: ที่นี่เป็นปัญหาที่ GitHub จาก rbenv ที่ช่วย
แดนวิลเลียมส์

1
หากคุณติดตั้ง rbenv ด้วย homebrew คุณอาจต้องใช้brew upgrade rbenv ruby-buildเช่นกัน
Justin Tanner

185

ฉันมีปัญหาที่คล้ายกันหลังจากอัปเกรด openssl ฉันใช้ rvm ฉันจ้องด้วยการอัพเกรด rvm

$ rvm get stable

ฉันติดตั้งครั้งต่อไป 1.9.3

rvm reinstall ruby-1.9.3-p545

หลังจากติดตั้งใหม่ฉันวิ่ง:

$ rvm gemset pristine

หากคุณเห็นข้อผิดพลาดใด ๆ ที่กู้คืน gemset ของคุณตัวเลือกที่ดีที่สุดของคุณคือการทำให้ gemset ว่างเปล่าและสร้างใหม่

rvm gemset use mygemset
rvm gemset empty mygemset
gem install bundler
bundle install

หากคุณมีอัญมณีหลายชุดคุณจะต้องทำซ้ำขั้นตอนเหล่านี้สำหรับแต่ละอัญมณี


10
สิ่งนี้ใช้ได้สำหรับฉัน rvm kicked off การสร้าง gemset pristine โดยอัตโนมัติ
Ducain

ทำงานให้ฉันที่ Yosemite ฉันเพิ่งวิ่ง rvm get stableและrvm reinstall ruby-2.0.0
MatCarey

4
ในโยเซมิตีฉันมีปัญหาในการติดตั้งทับทิมเนื่องจากไม่สามารถหาgccเวอร์ชั่นที่ถูกต้องได้ ฉันลงเอยด้วยCC=/usr/bin/gcc rvm reinstall ruby-1.9.3-p551
Alexander Beletsky

@ MatCarey rvm get stableและrvm reinstall ruby-2.0.0ทำงานใน Mavericks ด้วย ขอบคุณ
amertkara

สิ่งที่ใช้ได้ผลสำหรับฉันคือrvm get stableตามด้วยrvm install ruby-2.0.0-p598(ตั้งแต่ฉันอยู่หลังรุ่นปรับปรุงสองสาม) นอกจากนี้ผมอัปเดต.ruby-version, วิ่งbundleและเดินออกมาจากไดเรกทอรีการทำงานปัจจุบันของฉัน ( cd ..) และกลับไปมัน ( cd -) foreman startก่อนที่จะประสบความสำเร็จในการทำงาน
user664833

17

มีปัญหาเดียวกันสำหรับ 1.9.3-p547 ภายใต้ rvm

rvm reinstall ruby-1.9.3-p547

Ruby ได้รับการติดตั้งใหม่ แต่ล้มเหลวในการตั้งค่าgemset_pristineสำหรับแอปพลิเคชันเพราะ

libv8 version 3.16.14.3 failed

ซึ่งเป็นเหตุผลที่ฉันมาถึงจุดนี้ตั้งแต่แรก วงกลมแห้วที่ชั่วร้าย ...

อัปเดต
ตรวจสอบเวอร์ชั่นแพลตฟอร์มของคุณ ผมมีตัวอย่างเช่นดาร์วิน 10.8 และที่ไม่ได้อยู่ที่นี่ ดังนั้นหากเวอร์ชันของ libv8 gem ของคุณมีไบนารีที่คอมไพล์แล้วสำหรับแพลตฟอร์มของคุณมันจะใช้เวลานาน (นาน) ออกไปทานอาหารเย็นดูหนังทำใจให้สบาย ... ถ้าถามพอพวกเขาอาจจะตั้งฐาน distro ...


1
ฉันต้องการการสนับสนุนสำหรับ ruby ​​1.9.3 และกำลังใช้rvmงานhomebrewและxcodev6.1.1 บน Yosemite 10.10.2 ผมใช้เพียงrvm reinstall ruby-1.9.3-p394; หลังจากรวบรวมทับทิมใหม่ RVM ได้สร้างอัญมณีที่เก่าแก่และไม่มีปัญหา
ทอมแฮร์ริสัน

ใช่มันขึ้นอยู่กับการแจกแจงแบบไบนารี ลิงค์มีเพื่อให้หนึ่งตรวจสอบก่อนว่าพวกเขาจะได้รับการตอบสนองทันทีหรือออกไปและนั่งสมาธิ!
เจอโรม


7

คุณอาจเป็นเหมือนฉันด้วยหลาย openssl

ฉันมีปัญหาเดียวกันสำหรับ 2.1.2 และคำตอบที่ยอดเยี่ยมของ Ryan Dlugosz ไม่ได้ไปไกลพอ ปัญหาของฉันคือฉันติดตั้ง openssl หลายเวอร์ชัน (ฉันคิดว่าฉันติดตั้งผ่านbrew และ gitในโครงการก่อนหน้านี้)

ฉันต้องลบ / opt / local / bin / openssl แล้วสร้างใหม่ 2.1.2

ตรวจสอบทับทิม rbenv ทั่วโลก

$ rbenv global
2.1.2

ตรวจสอบ openssl

$ which -a openssl
/opt/local/bin/openssl
/opt/local/bin/openssl
/usr/bin/openssl

กำจัด openssl ที่ซ้ำกัน

$ sudo rm -rf /opt/local/bin/openssl

สร้างใหม่ 2.1.2

$ rbenv install -f 2.1.2
Downloading openssl-1.0.1g.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028
Installing openssl-1.0.1g...
Installed openssl-1.0.1g to /Users/globber/.rbenv/versions/2.1.2

Downloading ruby-2.1.2.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635
Installing ruby-2.1.2...
Installed ruby-2.1.2 to /Users/globber/.rbenv/versions/2.1.2

5

เมื่อไม่ได้แก้ปัญหาเลยฉันแนะนำให้ลบ RVM และติดตั้ง RVM และ Rails ใหม่

การลบ RVM

ฉันจะลบ RVM (Ruby Version Manager) ออกจากระบบของฉันได้อย่างไร

ติดตั้ง RVM, Rail

$ curl -L https://get.rvm.io | bash -s
$ rvm รับ
ความต้องการ
$ rvm ที่เสถียร $ rvm ติดตั้ง 2.0.0 --with-openssl-dir = $ HOME / .rvm / usr
$ rvm ใช้ 2.0.0 อัปเดต gem gem - ระบบ 2.0.3
$ gem ติดตั้งราง - รุ่น 4.0.5


4

ผู้ใช้ rbenv:

ช่วยให้แน่ใจว่าคุณใช้ทับทิมรุ่นที่ถูกต้อง หากคุณติดตั้ง rbenv ใหม่หรือติดตั้ง ruby ​​ใหม่ให้เปลี่ยนเป็น ruby ​​version ที่คุณเพิ่งติดตั้ง:

$ rbenv local 2.1.3


1

ในกรณีที่มันอาจช่วยทุกคน: ฉันมี Ruby รุ่นใหม่กว่าที่ติดตั้ง (2.1.2) และในไฟล์. ruby-version ของฉันฉันอ้างอิงรุ่นเก่า (2.0.0-p353)

การเปลี่ยนไฟล์. ruby-version เป็น 2.1.2 แก้ไขปัญหาให้ฉัน


1

ฉันมีปัญหาที่คล้ายกันซึ่งเกิดขึ้นหลังจากอัปเกรดเป็นทับทิม 2.2.2 อย่างไรก็ตามสภาพแวดล้อมของฉันแตกต่างกันเล็กน้อยทำให้โซลูชั่นด้านบนไม่ทำงาน

ฉันกำลังใช้:

  • OSX Yosemite (10.10.4)
  • chruby
  • ทับทิมติดตั้ง
  • openssl (ติดตั้งผ่าน homebrew)

คำสั่งต่อไปนี้แก้ไขปัญหานี้ในสถานการณ์ของฉัน:

> sudo ruby-install -r /opt/rubies ruby 2.2.2 -- --with-openssl-dir=/usr/local/opt/openssl
> gem install bundler
> bundler install

0

นอกจากคำตอบที่ได้รับการยอมรับข้างต้นคุณอาจต้องบอก rbenv ให้ใช้เวอร์ชันที่ติดตั้งใหม่ ตัวอย่างเช่นฉันมีเวอร์ชันเก่าใน ~ / .rbenv / version ดังนั้น rbenv จึงใช้รุ่นเก่าเสมอ การตั้งค่าเวอร์ชันใหม่ด้วยตนเองในไฟล์นั้น (หรือผ่านบรรทัดคำสั่ง) ควรแก้ไขปัญหา

rbenv install -f 2.1.2
rbenv versions
rbenv global 2.1.2 //sets global version to 2.1.2

และถ้าคุณมีปัญหากับ rbenv ที่ไม่เห็นรุ่นที่ใหม่กว่าเช่นคนที่ฉันรู้ว่าทำ ... ให้แน่ใจว่าคุณได้อัปเดตทับทิมสร้าง มีแนวโน้มมากที่สุดผ่านการชง
wkhatch
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.