我从项目中的Gemfile中删除了gem"auto_tagger"。master/dev分支上的一切似乎都在工作。我使用脚本将分支合并到测试中。现在我得到这个错误
Switched to branch 'test'
/opt/mount1/rvm/gems/ruby-2.1.1@global/gems/bundler-1.7.7/lib/bundler/resolver.rb:357:in `resolve': Could not find gem 'auto_tagger (>= 0) ruby' in the gems available on this machine. (Bundler::GemNotFound)
当调用下面的脚本时(这不是完整的脚本,但它显示了失败的地方)
def chef_refresh(root_dir = nil, environment = 'staging', branch)
dir_prefix = root_dir.nil? ? nil : File.join(root_dir, '/')
check_environment(environment)
puts "Checking out #{branch} inside the something_chef_repo projects."
system("git checkout #{branch}")
check_branch(environment, branch)
puts "git pull something_chef_repo"
system("git pull") || raise("unable to complete git pull for gemini_chef_repo")
puts "running bundle"
system("bundle")
puts "running berks"
system("berks install")
事实证明,厨师刷新脚本仍然需要gem自动标记器。我必须在master/dev分支上重新添加gem和bundle安装,然后才能将其合并到其他分支中。感谢spickermann和Thom Parkin