0
我有一個廚師12.5風格的自定義資源,需要安裝gem才能在load_current_value塊中「要求」它。我嘗試使用chef_gem
資源,但當我在那裏使用時,我在chef_gem上得到了一個NoMethodError。這工作:廚師12.5式自定義資源:安裝load_current_value塊所需的gem?
load_current_value do
Chef::Resource::ChefGem.new 'inifile' do
compile_time true
end
require 'inifile'
# ... load_current_value code
end
...但顯式調用Chef::Resource::ChefGem.new
似乎是錯誤的,或者至少是 「不雅」。
這使寶石可用於行動,這很方便。但是我想知道是否有更合適的方法在load_current_value塊中(或之前)安裝chef_gem?
是的,謝謝。這是正確的答案。這在一般情況下工作,並解決我的''load_current_value''問題。 因爲使用''gem'mysql2'''這樣崩潰了(希望是一個暫時的問題,由於缺少包依賴),所以我放棄了 - 忘記了 - 使用元數據解決方案。 –
問題在於,當廚師啓動時,在編譯器或mysql庫可用之前(假設您通過配方安裝這些庫),它會安裝gem。這可能導致訂購困難。 – coderanger
..它需要你的cheffed主機都可以訪問rubygems.org或者臨時gem下載代理。 安全問題很有趣。 – user2066657