Chef - 在现有食谱上生成 Berksfile

Chef - Generating Berksfile on existing cookbook

食谱中缺少 Berksfile,因此我想创建一个新的 我只想在现有的食谱上生成一个 berksfile。 所以当我尝试 运行 命令时: berks cookbook name_of_my_cookbook

我收到以下错误 /opt/chef/embedded/lib/ruby/site_ruby/2.3.0/rubygems.rb:271: in find_spec_for_exe: can't find gem berkshelf (>= 0.a) (Gem::GemNotFoundException) from /opt/chef/embedded/lib/ruby/site_ruby/2.3.0/rubygems.rb:299:in activate_bin_path from /usr/local/bin/berks:23:in'

我尝试通过 gem install berkshelf 再次安装 berkshelf,但我收到另一条错误消息: ERROR: Error installing berkshelf: There are no versions of solve (~> 4.0) compatible with your Ruby & RubyGems. Maybe try installing an older version of the gem you're looking for? solve requires Ruby version >= 2.1.0. The current ruby version is .

我没有其他办法解决这个问题。我是这方面的新手,所以非常感谢您的帮助。

没有理由再使用 berks cookbook,我很确定它在几年前就被删除了。听起来您的第一个问题是您的 gem 环境非常糟糕。我们仅通过 ChefDK 安装程序支持 Berkshelf,而不是 gem install berkshelf。您似乎有 chef-client 安装程序,而不是 ChefDK,因此请先修复它。然后,如果您只想要一个标准的 Berksfile,它是:

source "https://supermarket.chef.io/"
metadata