【问题标题】:Rails 3 and Bundler. How to deploy and NOT package gemsRails 3 和捆绑器。如何部署而不是打包 gem
【发布时间】:2013-05-20 19:52:01
【问题描述】:

我在尝试使用 capistrano 进行部署时遇到了很多问题。我不断收到关于 libv8 的错误,而不是在任何来源中。

Could not find libv8-3.11.8.13 in any of the sources

这里https://github.com/cowboyd/libv8/issues/56 告诉你可以“不使用打包”,这样部署的应用就不会使用捆绑包。

我如何部署和使用 gem 不在捆绑包中?我希望应用程序在每次部署时都运行 bundle,或者在 Gemfile 更改时运行 bundle。

【问题讨论】:

  • 你能显示一些堆栈跟踪吗?你安装了libv8-dev 库吗?和libv8gem?

标签: ruby-on-rails ruby capistrano bundler


【解决方案1】:

这就是我的工作方式:https://github.com/cowboyd/libv8/issues/77#issuecomment-12711634

我在 Mac 上进行开发并部署到红帽服务器。似乎 Rails 需要一个操作系统、特定于平台的 gem 版本。因此,当我在我的开发机器(mac)上运行 bundle 并使用 capistrano 将其部署到生产服务器(red hat)时,它不会工作。

我最终做的是......

  • http://rubygems.org/gems/libv8手动下载我需要的libv8 gem
  • 将下载的 gem 复制到 vendor/cache 文件夹
  • 然后部署应用 (cap deploy:cold)

它成功了。

【讨论】:

    【解决方案2】:

    如果我正确理解您的问题,听起来您错过了捆绑 capistrano 任务。有关更多信息,请参阅https://github.com/carlhuda/bundler/blob/master/lib/bundler/capistrano.rb。您应该能够在您的 capistrano deploy.rb 文件中“要求 'bundler/capistrano'”,以便在每次部署时都运行该包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多