2014-09-15 3 views
0

Я пытаюсь установить python с сольным шеф-поваром.Cookbook python не найден

Чтобы сделать это я

chef-solo -c solo.rb -j chef.json 

solo.rb:

file_cache_path "/tmp/chef-solo" 
cookbook_path "/home/lamerman/.berkshelf/cookbooks" 

chef.json:

{ 
    "run_list": [ "recipe[python]" ] 
} 

Ls -l /home/lamerman/.berkshelf/cookbooks

... 
drwxrwxr-x 8 lamerman lamerman 4096 Sep 15 13:16 python-1.4.6 
... 

Почему я получаю

ERROR: Cookbook python not found. If you're loading python from another cookbook, 
make sure you configure the dependency in your metadata 

Похоже, все в порядке.

+0

«Если вы загружаете python из другой кулинарной книги, убедитесь, что вы настраиваете зависимость в своих метаданных», вы сделали это? – garnertb

+0

@garnertb, я не загружаю питон из другой кулинарной книги. Я просто пытаюсь установить python с chef-solo. Где я должен настроить эти зависимости? Пакет python был загружен с Berkshelf. –

ответ

1

Berkshelf и сам шеф-повар используют разные структуры каталогов, чем berkshelf. Главное отличие состоит в том, что Berkshelf может иметь несколько версий cookbook, установленных, в то время как шеф-повар не может. В мире шеф-повара имя поваренной книги должно быть именем каталога без каких-либо дополнений.

Таким образом, вы не можете просто указать solo.rb в каталог berkshelf. Вместо этого вы должны поручить Berkshelf создать структуру каталогов, подходящую для шеф-повара из своего кеша. Это похоже на создание моментального снимка из текущего состояния.

Таким образом, как правило, вы можете запустить в вашем хранилище повара (то есть каталог, который содержит ваш Berksfile), чтобы создать cookbooks каталог, подходящий для повара:

berks install --path /path/to/your/chef/repo/cookbooks 

Тогда в вашем solo.rb, вы можете сказать, повар, чтобы использовать этот каталог снимка

file_cache_path "/tmp/chef-solo" 
cookbook_path "/path/to/your/chef/repo/cookbooks" 

Обратите внимание, что имена каталогов внутри каталога cookbooks есть версия не прилагается. Так поступает шеф-повар.

+0

Большое спасибо. Одна нота: команда установки кажется устаревшей, вместо этого следует использовать «поставщик» –

Смежные вопросы