Acabei de ter o mesmo problema que você. Desde a atualização para uma versão mais recente do Chef Server e do Chef DK em um ambiente re-roll fui usar berkshelf para gerenciamento de dependências.
Meu arquivo metadata.rb para um livro de receitas, vamos chamá-lo second_local_cookbook referenciado first_local_cookbook desta forma:
depends 'first_local_cookbook'
Então, quando eu corro:
berks install
Em second_local_cookbook para determinar as dependências do livro de receitas e o comando falhará da mesma maneira que você:
Fetching cookbook index from https://supermarket.chef.io...
Unable to satisfy constraints on package first_local_cookbook, which does not exist, due to solution constraint (second_local_cookbook = 0.1.0).
Solution constraints that may result in a constraint on first_local_cookbook: [(second_local_cookbook = 0.1.0) -> (first_local_cookbook >= 0.0.0)]
Missing artifacts: first_local_cookbook
Eu não tentei sua solução porque esperava que houvesse uma resposta simples para fazer referência a livros de culinária privados locais sem ter que instalar uma nova API de servidor. E eu encontrei este problema fechado no GitHub do berkshelf ( link ). Para fazer referência a um livro de receitas local de outro livro de culinária, você simplesmente faz referência ao first_local_cookbook no Berksfile de second_local_cookbook antes da área metadata assim:
source 'https://api.berkshelf.com'
cookbook 'first_local_cookbook', path: '../first_local_cookbook'
metadata
E a execução de berks install seria bem-sucedida:
berks install
Resolving cookbook dependencies...
Fetching 'first_local_cookbook' from source at ../first_local_cookbook
Fetching 'second_local_cookbook' from source at .
...
Posso executar o upload dos berks com êxito:
berks upload second_local_cookbook --no-freeze
Uploaded second_local_cookbook (0.1.0) to: 'https://chefserver:443/organizations/organization'