要解决这个问题,您可以尝试使用Berkshelf的最新版本来解析食谱。这里是一个示例代码:
require 'berkshelf'
# 食谱路径
cookbook_path = '/path/to/cookbooks'
# 创建Berkshelf实例
berks = Berkshelf::Berksfile.from_file(cookbook_path)
# 解析食谱
berks.install
# 获取解析结果
resolved_cookbooks = berks.lockfile.graph.locks.keys
# 打印解析的食谱版本
resolved_cookbooks.each do |cookbook|
version = berks.lockfile.graph.locks[cookbook].locked_version
puts "#{cookbook} 解析的版本为 #{version}"
end
请确保您已将Berkshelf gem添加到Gemfile中并进行了安装:
gem 'berkshelf'
然后,您可以运行上面的代码来解析食谱并获取版本信息。请注意,您需要将/path/to/cookbooks
替换为您实际的食谱路径。