Tôi đang cố gắng cài đặt một trình xử lý đầu bếp thông qua lwrp chef_handler. Điều này xử lý (đầu bếp-handler-email) đi kèm trong một viên ngọc. Tôi đang cố gắng để cài đặt đá quý sau đó bật trình xử lý từ trong một công thức duy nhất trông giống như:Làm cách nào để cài đặt các phụ thuộc cho trình xử lý đầu bếp?
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)
Điều này làm việc tốt nếu đá quý đã được cài đặt. Tuy nhiên, nếu các Gem chưa được cài đặt tôi nhận được lỗi này:
[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
Có vẻ như tài nguyên chef_handler đang cố gắng tải xử lý trước khi chef_gem đã thực hiện và cài đặt các viên ngọc cho xử lý. Tôi rõ ràng có thể làm điều này trong quy trình thủ công hai bước, nơi tôi có một công thức riêng để cài đặt đá quý, sau đó lật sang một công thức khác có cấu hình trình xử lý, nhưng tôi hy vọng tránh được các quy trình thủ công nhiều bước. Nó có thể được thực hiện thông qua công thức duy nhất?
Đây là câu trả lời đúng. – sethvargo