rbenvとruby-buildを使用して、迷惑メールのバージョンを管理するためにシェフを使用しています。 rbenvがそれを実装することを拒否したとしても、ルビバージョン(例えば、1.9.3から1.9.3-p123への変換)では "あいまいな"バージョンのマッチングが必要です。料理本からグローバルにシェフ属性を無効にする
これは、run_listのruby-buildとrbenvの間に置くことができるスタンドアロンレシピで透過的に処理したいと思います。私のコードは "うまくいく"(ruby-build --definitions
の出力に基づいて最新の一致するルビーバージョンを決定する)が、rbenv料理ブックを実行しても変更は保持されないので、それらは自分の料理ブックのローカルであると仮定します。実行中に属性をグローバルに更新する方法はありますか?
私はシェフに慣れていないと付け加えます。これは私が通常働いているドメインの外にあります。これはおそらく奇妙な使用事例であり、私がしようとしていることが本当に面白いなら、私が欲しいものを達成するためのより良い方法は何でしょうか?
original_rbenv_rubies = node[:rbenv][:rubies]
new_rbenv_rubies = determine_full_ruby_versions original_rbenv_rubies
node.force_override[:rbenv][:rubies] = new_rbenv_rubies