もふもふ技術部

Chef::Util::FileEditでundefined methodエラー


Chef 11.12.2にアップデートしたんですが、どうやらChef::Util::FileEditの挙動がちょっと変わってました。

そのおかげで、下記みたいなエラーが出るようになってしまってあれあれ??ってなってしまったので共有しとこうと思います。

Chef::Util::FileEditを使ってsed的なことをやっていた箇所でエラーになってしまいました。下記のように content _file.send(:contents).join の部分を変更するとひとまず意図した動作に戻りました。

WEBの情報を見ると同じようなやり方をされているのが多かったので同じエラーにハマっている人もいるんじゃないでしょうか?

ちなみにGitHubのDiffはこちらから確認できます。

https://github.com/opscode/chef/commit/bd6079ddf7079c88d83f31335ec8bdfa5481b54b#diff-ea3e47793a00994594716cd021637dd7

そもそも _file.send(:contents).join って呼び方自体ムリヤリでしたけど、このやり方が正しいのかどうかはちょっとわからない。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。