Я пытаюсь настроить свой бродячий файл, чтобы иметь некоторые атрибуты шеф-повара, но я должен делать что-то неправильно, потому что рецепты шеф-повара используют значения по умолчанию вместо моих атрибутов, которые я пытаюсь установить. Вот мой конфиг часть моего бродячего файла: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
Является ли мой рубин неправильно или есть лучший способ сделать это?
Майк, вы - мужчина! Некоторые примеры имели двоеточие перед именами переменных, и я не уверен, почему. Спасибо за решение! – Clint
двоеточие перед именем переменной - это рубиновый синтаксис для ключа. – jmontross
@Clint: что-то является символом символа в Ruby, тогда как «что-то» является строкой. Это два разных типа. Шеф-повар (по крайней мере, в режиме клиент-сервер) обрабатывает оба символа и строки при использовании в качестве хеш-ключей одинаково, поэтому их можно использовать взаимозаменяемо. Если вы хотите больше узнать о различии между строками и символами, перейдите [здесь] (http://www.robertsosinski.com/2009/01/11/the-difference-between-ruby-symbols-and-strings/) , –