Chef SoloでyumのEPELリポジトリを有効化する方法
Chefでのサーバ構築時に、以下のようなエラーに出くわしました。
たとえばPackage Resourceでlibyaml
をインストールしようとすると、
* package[libyaml-devel] action install
* No version specified, and no candidate version available for libyaml-devel
================================================================================
Error executing action `install` on resource 'package[libyaml-devel]'
================================================================================
Chef::Exceptions::Package
-------------------------
No version specified, and no candidate version available for libyaml-devel
という感じです。
解決策として、yum
のEPELリポジトリを追加すればよいです。
解決策
Cookbookを取得する
yum
のEPELリポジトリを追加する手っ取り早い方法として、Opscodeのコミュニティで配布されているクックブックを利用する方法があります。
以下のコマンドをターンッとたたくだけでよいです。
$ knife cookbook site vendor yum
実行の命令を書く
あとはnodes/
下のJSONのrun_list
にyum::epel
を追加するだけです。
{
"run_list": [
"yum::epel"
]
}
これで、問題なくインストールすることができました。 おしまい。