厨师-在现有食谱上生成Berksfile

时间:2018-06-26 17:23:15

标签: ruby rubygems chef berkshelf berksfile

食谱中缺少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 .

我没有其他解决办法。我在这方面是个新手,因此感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

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