Tôi đang cố gắng cấu hình tập tin Vagrant để có một số thuộc tính của đầu bếp, nhưng tôi phải làm điều gì đó sai vì công thức nấu ăn đầu bếp đang sử dụng mặc định thay vì các thuộc tính tôi đang cố gắng thiết lập. Đây là phần cấu hình của tôi trong tệp vagrant của tôi:Vagrant File Chef Attributes
config.vm.provision :chef_solo do |chef|
chef.json = {
:mysql => {
:server_root_password => 'password'
},
:nodejs => {
:version => '0.6.14',
:dir => '/usr/local',
:npm => '1.1.13'
}
}
chef.cookbooks_path = "config/env/cookbooks"
chef.add_recipe "apt"
chef.add_recipe "mongodb::10gen_repo"
chef.add_recipe "mongodb"
chef.add_recipe "mysql::client"
chef.add_recipe "mysql::server"
chef.add_recipe "nodejs"
chef.add_recipe "nodejs::npm"
#chef.add_recipe "mymc_service"
end
Ruby của tôi sai hay có cách nào tốt hơn để làm điều này?
Mike, bạn là người đàn ông! Một số ví dụ đã có dấu hai chấm ở phía trước của tên biến, và tôi không chắc chắn tại sao. Cảm ơn các giải pháp! – Clint
dấu hai chấm trước tên biến là cú pháp ruby cho một khóa. – jmontross
@Clint: một cái gì đó là một ký hiệu chữ trong Ruby, trong khi một "cái gì đó" là một chuỗi. Họ là hai loại riêng biệt. Đầu bếp (ít nhất là trong chế độ máy khách-máy chủ) xử lý cả Biểu tượng và Chuỗi khi được sử dụng làm khóa băm theo cùng một cách, vì vậy chúng có thể được sử dụng thay thế cho nhau. Nếu bạn muốn đọc thêm về sự khác biệt giữa Chuỗi và Ký hiệu, hãy truy cập [tại đây] (http://www.robertsosinski.com/2009/01/11/the-difference-between-ruby-symbols-and-strings/) . –