【问题标题】:Rails & Capistrano - Deployment gem issuesRails & Capistrano - 部署 gem 问题
【发布时间】:2010-02-11 06:00:44
【问题描述】:

我已经在本地冻结了我的 gem,并将它们提交到最新的 git 版本中。我将它推送到我的生产服务器,并且我的 capfile 在部署时自动拉取它(通过本地存储的 git)。

现在我遇到的问题是,即使我知道服务器已安装 gem,但当我使用“cap deploy:cold”进行部署时,我收到以下错误:

*** [err :: domain.com] Missing these required gems:
*** [err :: domain.com] RedCloth
*** [err :: domain.com] 
*** [err :: domain.com] You're running:
*** [err :: domain.com] ruby 1.8.7.174 at /usr/bin/ruby1.8
*** [err :: domain.com] rubygems 1.3.5 at /home/user/.gem/ruby/1.8, /usr/lib/ruby/gems/1.8
*** [err :: domain.com] 
*** [err :: domain.com] Run `rake gems:install` to install the missing gems.

我应该在最新版本中运行 rake gems:install 吗?当我这样做时,什么也没有发生。我应该做 rake gems:build 某处吗?在我的 capfile 中?我在最新版本中通过控制台和该目录执行此操作,但我没有收到任何已构建的通知,但我可能不了解该功能。

我错过了什么?

注意。当我运行 gem list 时,我确实在生产服务器上看到 gem 安装。

【问题讨论】:

    标签: ruby-on-rails capistrano


    【解决方案1】:

    因为你说gem list包含RedCloth,所以问题应该出在其他地方。

    如何将 Gem 包含在您的应用程序中? RedCloth 有点不合常规。 gem 的名称是 CamelCase,而主文件是小写的。

    因此,您应该指定:lib 选项。

    config.gem "RedCloth", :lib => "redcloth"
    

    【讨论】:

    • 这似乎不起作用,但我现在只是将其从应用程序中排除。这太让人头疼了。
    猜你喜欢
    • 1970-01-01
    • 2014-07-07
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多