Rails部署 - rake失败:无法在任何源中找到xxxxx

时间:2012-01-17 07:45:38

标签: ruby-on-rails gem capistrano dreamhost

我正在尝试通过上限部署一个简单的演示应用。当我运行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)。我一直在去,并在我的开发机等上降级这些,只是为了让它每次都给我一个新的。

我必须在这里遗漏一些明显的东西。

2 个答案:

答案 0 :(得分:0)

即使gem在机器上可用,如果Gemfile中未指定gem,它也不会对您的应用程序可用。此外,在生产中,bundle install会查看Gemfile.lock以从开发设置中重新创建gem。因此,请确保:

  1. 您已在Gemfile中指定了高线
  2. 您已在开发计算机上运行bundle install(更新Gemfile.lock)
  3. 您已将这些最新更改推送到您的git(hub)repo
  4. 您可以尝试运行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没有加载默认路径。