ruby-2.0.0-p0 で chef をインストールすると、chef 実行時にこんなエラーが出た。
/Users/ataka/project/chef/vendor/bundle/ruby/2.0.0/gems/chef-11.4.4/lib/chef/provider/package/rubygems.rb:34:in `require': cannot load such file -- rubygems/format (LoadError)
この件に関しては、過去記事でダミーの format gem を作ることで解決した。
- clmemo@aka: chef-solo を Ruby-2.0.0 で試す —— 例: Objective-C コンパイル環境の用意
- via. ChefでNode.jsを入れる: [Ruby][Chef]ChefでNode.jsを入れる - アペフチ(2013-03-18)
けれど、このやり方は自分で gem を作らねばならず面倒。少しでも簡便にインストールできる様にしようと、rubygems-format-dummy を GitHub に置いた。
これで、Gemfile を次の様に書けばよくなる。
source 'https://rubygems.org'
gem 'chef'
gem 'rubygems-format-dummy', :git => 'git://github.com/ataka/rubygems-format-dummy.git'
bundle install
一応、インストール・ログを残しておく。Mac の OS X 10.8.2。rbenv + ruby-2.0.0-p0。bundle コマンドでローカルにインストール。
$ bundle install --path vendor/bundle Fetching git://github.com/ataka/rubygems-format-dummy.git remote: Counting objects: 21, done. remote: Compressing objects: 100% (13/13), done. remote: Total 21 (delta 4), reused 21 (delta 4) Receiving objects: 100% (21/21), done. Resolving deltas: 100% (4/4), done. Fetching gem metadata from https://rubygems.org/........ Fetching gem metadata from https://rubygems.org/.. Resolving dependencies... Installing erubis (2.7.0) Installing highline (1.6.18) Using json (1.7.7) Installing mixlib-log (1.6.0) Installing mixlib-authentication (1.3.0) Installing mixlib-cli (1.3.0) Installing mixlib-config (1.1.2) Installing mixlib-shellout (1.1.0) Installing net-ssh (2.6.7) Installing net-ssh-gateway (1.2.0) Installing net-ssh-multi (1.1) Installing ipaddress (0.8.0) Installing systemu (2.5.2) Installing yajl-ruby (1.1.0) Installing ohai (6.16.0) Installing mime-types (1.23) Installing rest-client (1.6.7) Installing chef (11.4.4) Using rubygems-format-dummy (0.0.1) from git://github.com/ataka/rubygems-format-dummy.git (at master) Using bundler (1.3.5) Your bundle is complete! It was installed into ./vendor/bundle $ rbenv rehash $ bundle exec chef-solo -v Chef: 11.4.4
あとがき
これは ruby-2.0.0 のバグなのかなぁ? それとも仕様なのかなァ? chef 側が fix すべきなのか、ruby 側が fix すべきなのか... さてさて困った。
No comments:
Post a Comment