2014-04-28 16 views
5

Tôi đang theo dõi Ruby và đang trong quá trình cài đặt Ruby on Rails.Không thể cài đặt đá quý vì "phương thức undefined` invoke_with_build_args 'cho nil: NilClass "

Tôi đang cố gắng cài đặt đá quý nhưng không xảy ra và tôi không chắc chắn lý do và cách khắc phục.

$gem install bundler 

ERROR: Loading command: install (LoadError) 
dlopen(/Users/nthulanemakgato/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64- darwin13.0/openssl.bundle, 9): Library not loaded:  /usr/local/opt/openssl/lib/libssl.1.0.0.dylib 
    Referenced from: /Users/nthulanemakgato/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64- darwin13.0/openssl.bundle 
    Reason: image not found -  /Users/nthulanemakgato/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle 
ERROR: While executing gem ... (NoMethodError) 
undefined method `invoke_with_build_args' for nil:NilClass 

Đây là một trong những giải pháp mà tôi đã cố gắng:

$CONFIGURE_OPTS="--with-openssl-dir=brew --prefix openssl" rbenv install 2.1.1 

rbenv: /Users/nthulanemakgato/.rbenv/versions/2.1.1 already exists 
continue with installation? (y/N) y 
Downloading yaml-0.1.6.tar.gz... 
-> http://dqw8nmjcqpjn7.cloudfront.net/5fe00cda18ca5daeb43762b80c38e06e 
Installing yaml-0.1.6... 

BUILD FAILED 

Inspect or clean up the working tree at  /var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby-build.20140429120202.53716 
Results logged to /var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby- build.20140429120202.53716.log 

Last 10 log lines: 
x yaml-0.1.6/win32/vc6/test_reader.dsp 
x yaml-0.1.6/win32/vc6/run_loader.dsp 
x yaml-0.1.6/win32/vc6/run_parser.dsp 
x yaml-0.1.6/win32/vc6/example_reformatter_alt.dsp 
x yaml-0.1.6/win32/vc6/example_deconstructor.dsp 
x yaml-0.1.6/win32/vc6/libyaml.dsw 
x yaml-0.1.6/win32/vc6/yaml.dsp 
/var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby-build.20140429120202.53716/yaml- 0.1.6 /var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby-build.20140429120202.53716 ~ 
configure: WARNING: unrecognized options: --with-openssl-dir 
configure: error: expected an absolute directory name for --prefix: openssl 

BUILD FAILED 

Inspect or clean up the working tree at  /var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby-build.20140429120202.53716 
Results logged to /var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby- build.20140429120202.53716.log 

Last 10 log lines: 
x yaml-0.1.6/win32/vc6/run_loader.dsp 
x yaml-0.1.6/win32/vc6/run_parser.dsp 
x yaml-0.1.6/win32/vc6/example_reformatter_alt.dsp 
x yaml-0.1.6/win32/vc6/example_deconstructor.dsp 
x yaml-0.1.6/win32/vc6/libyaml.dsw 
x yaml-0.1.6/win32/vc6/yaml.dsp 
/var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby-build.20140429120202.53716/yaml-  0.1.6 /var/folders/tj/_bd6whds6lb7wtn2m8ylwx7h0000gp/T/ruby-build.20140429120202.53716 ~ 
configure: WARNING: unrecognized options: --with-openssl-dir 
configure: error: expected an absolute directory name for --prefix: openssl 
make: *** No targets specified and no makefile found. Stop. 

Tôi có openssl-1.0.1g cài đặt

Tôi đang sử dụng Mac 10.9.2
ruby ​​2.1 .1p76 (2014-02-24 sửa đổi 45161) [x86_64-darwin13.0]
rbenv 0.4.0-97-gfe0b243

Điều này không giống như các câu hỏi khác trong đó tôi đang sử dụng rbenv trong khi những người khác hỏi các câu hỏi liên quan đến rvm mà tôi không thể sử dụng.

Xin cảm ơn trước.

+0

'Thư viện không nạp:/usr/local/opt/openssl/lib ... '<< bạn đang thiếu openssl. [Rbenv wiki] (https://github.com/sstephenson/ruby-build/wiki) cung cấp hướng dẫn cài đặt nó –

+0

@ user2062950 Tôi vừa thêm rằng tôi đã cài đặt openssl. Nhưng các hướng dẫn trong liên kết mà bạn chia sẻ là cho Ruby 1.9.3p-0 hoặc thấp hơn và của tôi là 2.1.1. – Coolkid

+0

bạn đã tìm ra cái này @Coolkid chưa? – Magne

Trả lời

4

Dường như bạn cần cài đặt OpenSSL trước tiên. Vì vậy, cố gắng để cài đặt nó:

$ brew cài đặt openssl

Và sau đó bạn cần phải biên dịch lại ruby ​​với OpenSSL:

$ CONFIGURE_OPTS = "- với-openssl-dir = brew --prefix openssl "rbenv install 2.1.1-p76

+0

Tôi đã cài đặt 'openssl-1.0.1g'. Khi tôi thử dòng mã thứ hai của bạn và nó nói 'ruby-build: definition không tìm thấy: 2.1.1-p76 Bạn có thể liệt kê tất cả các phiên bản có sẵn với' rbenv install --list'.' mặc dù phiên bản đã được cài đặt . – Coolkid

+0

Chạy 'rbenv install --list' và chọn một trong các phiên bản có sẵn. Sau đó thay đổi dòng thứ hai của tôi thành: '$ CONFIGURE_OPTS = "- with-openssl-dir = brew --prefix openssl" rbenv install *** tại đây phiên bản của bạn ***' – iSunRise

+0

hãy xem bài đăng cập nhật. – Coolkid

5

Tôi thấy rằng mặc dù tôi đã cài đặt openSSL mà tôi cần o brew upgrade ruby trước khi được nhận dạng. Một mê cung khác của những đoạn nhỏ uốn lượn, tất cả đều giống nhau.

-1

cố gắng sử dụng mã này trong cmd

chcp 1252 
Các vấn đề liên quan