我正在尝试使用 Chef-solo、Berkshelf 和 vagrant-berkshelf 插件来配置 Vagrant 机器。但是,配置失败并出现以下错误:Berkshelf::CookbookNotFound: Cookbook <cookbook name> not found in any of the default locations
berks install
成功将所有内容安装到 ~/.berkshelf/cookbooks/
,但食谱永远不会复制到 ~./berkshelf/default/vagrant/berkshelf-20131017-8441-pqghfq-default
这是 Berkshelf 报告它正在更新的地方,就在跟踪之前:[Berkshelf] Updating Vagrant's berkshelf: '/Users/<me>/.berkshelf/default/vagrant/berkshelf-20131017-8441-pqghfq-default'
所以,我想我的问题是:
环境详情:
Mac OSX 10.8
ruby 1.9.3
vagrant -v: 1.3.5
berks -v : Berkshelf (2.0.10)
$: vagrant plugin list
buff-config (0.2.0)
mini_portile (0.5.1)
nugrant (1.1.0)
vagrant-berkshelf (1.3.4)
vagrant-cachier (0.1.0)
vagrant-omnibus (1.1.1)
vagrant-rackspace (0.1.3)
最佳答案
Who is responsibile for copying the cookbooks to the specific Vagrant folder (Berkshelf, the vagrant-berkshelf plugin, or Vagrant)?
A 列的一点点和 B 列的一点点,两者都得到了 C 列的一些帮助。
Vagrant chef-solo provisioner能够将食谱(+角色/数据包/等)从主机复制到 guest 。它通过在主机上创建一个目录然后在 VM 中挂载该目录来实现。
vagrant-berkshelf 插件先creates a directory on the host然后使用 vanilla Berkshelf 功能到 export此目录中的所有相关食谱。
最后,vagrant-berkshelf 插件告诉 Chef-Solo 供应商 use the directory it has created作为食谱的来源,它应该复制给客人。
关于chef-infra - Berkshelf Recipe 没有被复制到 Vagrant 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19441847/