从主分支中删除后,在测试(可能在阶段和生产)分支上找不到 gem



我从项目中的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

最新更新