食谱中缺少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 .
我没有其他解决办法。我在这方面是个新手,因此感谢您的帮助。
答案 0 :(得分:1)
没有理由再使用berks cookbook
了,我很确定它早在几年前就被删除了。听起来您的第一个问题是您的gem环境非常糟糕。我们仅通过ChefDK安装程序支持Berkshelf,而不支持gem install berkshelf
。您似乎具有chef-client
安装程序,而不是ChefDK
安装程序,因此请首先解决该问题。然后,如果您只想要标准的Berksfile,则为:
source "https://supermarket.chef.io/"
metadata