从主分支中删除后,无法在测试(以及可能在stage& prod)分支中找到gem

时间:2015-02-22 01:59:55

标签: ruby git chef

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

1 个答案:

答案 0 :(得分:0)

事实证明,chef-refresh脚本仍然需要gem自动标记器。在将其合并到其他分支之前,我不得不在master / dev分支上重新添加gem和bundle install。感谢spickermann和Thom Parkin