Попытка настроить приложение для рельсов с помощью шеф-повара, но при этом получить недостающую Cookbooks ошибку.Отсутствующие поваренные книги с кухней-шеф-поваром
Шаги по воспроизведению
$ chef generate app chef_rails #create new app that will hold cookbooks for rails.
$ echo "cookbook 'ruby-ng'" >> cookbooks/chef_rails/Berksfile
$ cd cookbooks/chef_rails/
$ berks install
$ berks vendor
$ cd ../../
$ vim .kitchen.yml #add `recipe[ruby-ng::default]` to runlist
$ kitchen converge
Что дает следующее сообщение об ошибке:
Missing Cookbooks: ------------------ No such cookbook: ruby-ng
Expanded Run List: ------------------ * chef_rails::default * ruby-ng::default
Для этого я искать существующие ответы на StackOverflow & понял, что если я перееду vendored поваренные книги, шеф-повар которые могут их найти
$ mv cookbooks/chef_rails/berks-cookbooks/* cookbooks
$ ls cookbooks
apt chef_rails mingw ruby-ng windows
build-essential compat_resource ohai seven_zip
$ kitchen converge #works flawlessly
$ kitchen list
Instance Driver Provisioner Verifier Transport Last Action Last Error
default-ubuntu-1404 Vagrant ChefZero Inspec Ssh Converged <None>
Вот версии, я использую:
$ chef --version
Chef Development Kit Version: 1.1.16
chef-client version: 12.17.44
delivery version: master (83358fb62c0f711c70ad5a81030a6cae4017f103)
berks version: 5.2.0
kitchen version: 1.14.2
Вопросы
- Я могу исправить ошибку, но я не понимаю «почему» эта ошибка occurred.I думаю, что это связан с
chef_repo_path
, но на самом деле это не совсем понятно. так что, если можно объяснить или указать соответствующие документы? - Должен ли я предлагать кулинарные книги в
./cookbooks
вместо./cookbooks/chef_rails/berks-cookbooks/
. если да, то как мне сделатьberks vendor
? - После разработки, для загрузки в github. должны также включать проданные поваренные книги в репо? Планирование использования этих кулинарных книг с Chef Server для настройки сервера для рельсов.