我正在尝试通过上限部署一个简单的演示应用。当我运行cap deploy:migrations
rake似乎失败了:
** [out :: -----.com] Could not find highline-1.6.9 in any of the sources
** [out :: -----.com] Try running 'bundle install'.
我的生产机器(Dreamhost)有highline (1.6.9, 1.6.2)
和我的开发机highline (1.6.9)
。我一直在去,并在我的开发机等上降级这些,只是为了让它每次都给我一个新的。
我必须在这里遗漏一些明显的东西。
丹
答案 0 :(得分:0)
即使gem在机器上可用,如果Gemfile中未指定gem,它也不会对您的应用程序可用。此外,在生产中,bundle install会查看Gemfile.lock以从开发设置中重新创建gem。因此,请确保:
bundle install
(更新Gemfile.lock)您可以尝试运行cap deploy
(不迁移),然后cap deploy:migrate
(仅迁移),以确保正确安装捆绑包以确保。
如果此建议无法解决您的问题,您是否可以发布cap deploy:check
的结果以及部署时返回的任何其他错误或警告。 (特别是与捆绑者有关)?
答案 1 :(得分:0)
以下是我的决定:
Rails 3 -- Bundler/Capistrano Errors
在我添加的config / deploy.rb文件中:
set :bundle_cmd, "/home/#{user}/.gems/bin/bundle"
我猜Capistrano没有加载默认路径。