मैं chef_handler lwrp के माध्यम से एक शेफ हैंडलर स्थापित करने की कोशिश कर रहा हूं। यह हैंडलर (शेफ-हैंडलर-ईमेल) एक मणि में बंडल आता है।मैं शेफ हैंडलर के लिए निर्भरता कैसे स्थापित करूं?
chef_gem "chef-handler-mail"
chef_handler "MailHandler" do
source 'chef/handler/mail'
arguments :to_address => "root"
action :nothing
supports :exception => true, :report => false
end.run_action(:enable)
यह ठीक काम करता है, तो मणि पहले से स्थापित है: मैं फिर एक ही नुस्खा है कि लगता है कि भीतर से हैंडलर पर बारी मणि स्थापित करने के लिए कोशिश कर रहा हूँ। हालांकि, अगर रत्न पहले से ही स्थापित नहीं है, मैं यह त्रुटि प्राप्त:
[2012-12-09T20:47:56-05:00] FATAL: LoadError: chef_handler[MailHandler] (chef_handler::email line 13) had an error: LoadError: no such file to load -- chef/handler/mail.rb
ऐसा लगता है कि chef_handler संसाधन हैंडलर लोड करने के लिए इससे पहले कि chef_gem मार डाला और हैंडलर के लिए मणि स्थापित किया है कोशिश कर रहा है। मैं स्पष्ट रूप से दो चरणों की मैन्युअल प्रक्रिया में ऐसा कर सकता हूं जहां मेरे पास मणि स्थापित करने के लिए एक अलग नुस्खा है, फिर हैंडलर को कॉन्फ़िगर करने वाली दूसरी नुस्खा पर फ़्लिप करें, लेकिन मैं बहु-चरण मैन्युअल प्रक्रियाओं से बचने की उम्मीद कर रहा हूं। क्या यह एकल नुस्खा के माध्यम से किया जा सकता है?
chef_gem 'minitest'
chef_gem 'minitest-chef-handler'
require 'rubygems'
require 'minitest-chef-handler'
[... some unrelated code ...]
chef_handler "MiniTest::Chef::Handler" do
source "minitest-chef-handler"
arguments :verbose => true
action :nothing
end.run_action(:enable)
chef_handler संसाधन बनाने से पहले अपनी मणि की आवश्यकता होती है प्रयास करें, या हो सकता है स्रोत अलग होना चाहिए ...
यह सही उत्तर है। – sethvargo