rbenvでruby2.0.0-p0のインストール
ruby-buildをアップデートしたら
$ brew update $ brew upgrade ruby-build
2.0.0-p0がきてたので
$ rbenv install ... 2.0.0-p0 ...
インストールしようとしたらエラった。
$ rbenv install 2.0.0-p0 Downloading openssl-1.0.1e.tar.gz... -> https://www.openssl.org/source/openssl-1.0.1e.tar.gz Installing openssl-1.0.1e... Installed openssl-1.0.1e to /Users/xxx/.rbenv/versions/2.0.0-p0 Downloading ruby-2.0.0-p0.tar.gz... -> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz Installing ruby-2.0.0-p0... BUILD FAILED Inspect or clean up the working tree at /var/folders/8c/vgm8fdh97qd4y3c61wd2003m0000gn/T/ruby-build.20130225075459.58371 Results logged to /var/folders/8c/vgm8fdh97qd4y3c61wd2003m0000gn/T/ruby-build.20130225075459.58371.log Last 10 log lines: installing default gems: /Users/xxx/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0 (build_info, cache, doc, gems, specifications) bigdecimal 1.2.0 io-console 0.4.2 json 1.7.7 minitest 4.3.2 psych 2.0.0 rake 0.9.6 rdoc 4.0.0 test-unit 2.0.0.0 The Ruby openssl extension was not compiled. Missing the OpenSSL lib?
OpenSSLをインストールして
$ brew install openssl
configureのオプションを指定したんだけどエラーメッセージが変わった。
$ RUBY_CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p0 Downloading ruby-2.0.0-p0.tar.gz... -> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz Installing ruby-2.0.0-p0... BUILD FAILED Inspect or clean up the working tree at /var/folders/8c/vgm8fdh97qd4y3c61wd2003m0000gn/T/ruby-build.20130225085320.23480 Results logged to /var/folders/8c/vgm8fdh97qd4y3c61wd2003m0000gn/T/ruby-build.20130225085320.23480.log Last 10 log lines: 0 enumerator.so [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html make: *** [.rbconfig.time] Abort trap: 6 make: *** Waiting for unfinished jobs.... make: *** [encdb.h] Abort trap: 6
そういえばOSX LionのデフォルトのGCC(llvm-gcc)だとこけるんだっけと思ってgcc-4.2を指定したらできた。
$ CC=/usr/bin/gcc-4.2 RUBY_CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p0 Downloading ruby-2.0.0-p0.tar.gz... -> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz Installing ruby-2.0.0-p0... Installed ruby-2.0.0-p0 to /Users/hokamura/.rbenv/versions/2.0.0-p0
$ rbenv local 2.0.0-p0 $ ruby -v ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin11.4.2]
ヤッター。
キーワード引数使えちゃうぜー!ひゃほう!
$ irb irb(main):001:0> def foo(a: 'b', c: 'd') irb(main):002:1> puts a irb(main):003:1> puts c irb(main):004:1> end => nil irb(main):005:0> foo(a: 'hoge') hoge d => nil
次にbundler入れて適当にインストールしてみようと思ったら
# Gemfile source 'https://rubygems.org' gem 'rails'
$ gem install bundler --pre $ bundle install --path vendor/bundle Unfortunately, a fatal error has occurred. Please see the Bundler troubleshooting documentation at http://bit.ly/bundler-issues. Thanks! /Users/hokamura/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/net/http.rb:917:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError) ...
なんかSSLでエラった。
証明書の問題っぽいのでググったら次のよう証明書を設定すればいいらしい。
$ brew install curl-ca-bundle $ cp /usr/local/Cellar/curl-ca-bundle/1.87/share/ca-bundle.crt /usr/local/etc/openssl/cert.pem
これでbundle installもデキター