chef-soloで、solo.rbに絶対パスを書かない方法
solo.rb
cookbook_path ["/home/hoge/chef-repo/cookbooks"]
しかしこのような書き方はポータビリティがありません。ディレクトリ名が変わったり、別のサーバで動かそうとすると、この絶対パスをいちいち書き換えなくてはならないからです。
File.expand_path()を使おう
ほとんどの場合、chef-soloコマンドを実行したときのカレントディレクトリに"cookbooks"と"site-cookbooks"が置いてあると思います。したがってこのように書けます。
solo.rb
base = File.expand_path('..', __FILE__)
cookbook_path [base + '/cookbooks', base + '/site-cookbooks']