【问题标题】:Deployment of a rails 3.1 app fails with capistrano使用 capistrano 部署 rails 3.1 应用程序失败
【发布时间】:2011-07-27 06:46:16
【问题描述】:

我尝试使用 capistrano 部署我的 rails 3.1 应用程序,但失败并显示以下输出:

rake aborted!

File name too long - /srv/good2go.ch/cookbook/releases/20110727063856/tmp/cache/assets/sprockets%2Fsrv%2Fgood2go.ch%2Fcookbook%2Fshared%2Fbundle%2Fruby%2F1.9.1%2Fgems%2Faloha_rails-0.1.4%2Flib%2Fassets%2Fjavascripts%2Faloha%2Fplugins%2Fcom.gentics.aloha.plugins.HighlightEditables%2Fcss%2FHighlightEditables.css%3Asource20110727-2736-dx9guk.lock

Tasks: TOP => assets:precompile

失败的是这个任务:RAILS_ENV=production rake assets:precompile

有人知道它可能是什么吗?

【问题讨论】:

  • 我遇到了同样的问题。这是因为 Sprockets 正在尝试将您的 Javascript 或在本例中的“aloha_rails”gem 编译到单个文件中,并使用脚本的整个路径作为文件名。您的操作系统不支持那么长的文件名。还没有解决方案。

标签: capistrano ruby-on-rails-3.1 aloha-editor


【解决方案1】:

问题在于 sprockets 对 gem 使用了带引号的 URL 标识符。这可能会很长。

此问题已报告给 sprockets 问题 tracker at github,并已通过在此 commit 中使用十六进制摘要而不是完整 URL 得到修复。

截至今天,还没有包含此修复的新(测试版)版本。但是您可以通过在Gemfile 中指向 github 来使用 sprocket 版本:

gem 'sprockets', :git => 'https://github.com/sstephenson/sprockets.git'

【讨论】:

  • 因此通知您:github 上的当前 sprockets gem 确实有效。不再需要额外的 Gemfile 魔法:-) 在 Gemfile 中删除 gem 版本依赖,运行 bundle
【解决方案2】:

当 sprockets 尝试从 jquery-rails 编译 jquery 时,我遇到了同样的问题。

作为临时解决方案,我将 jquery 文件从 jquery-rails 复制并粘贴到我的应用程序的供应商中。

【讨论】:

  • 部署成功,但是 aloha 编辑器没有按预期工作。在第一个视图中,缺少一些 JS 文件。还是谢谢!
  • 应该不需要。虽然这是一种可能的解决方法,但应该正确修复:Drop gem version dependency in Gemfile, run bundle
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-10
相关资源
最近更新 更多