ruby-on-rails - JRuby 回形针

标签 ruby-on-rails paperclip jruby

最近我正在调整我的 rails 应用程序以在 JRuby 上运行。
我遇到的问题之一是 Paperclip。
Paperclip 使用 Cocaine 来运行命令行工具,如 ImageMagick,它使用 Process.spawn,结果:

Errno::ECHILD: 没有子进程 - 没有子进程
位于 org/jruby/RubyProcess.java:512 的 waitpid
位于 org/jruby/RubyProcess.java:497 的 waitpid
waitpid 在/home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line/runners/process_runner.rb:21
调用/home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line/runners/process_runner.rb:9
在/home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line.rb:77 执行
运行在/home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line.rb:55
运行在/home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/paperclip-3.2.0/lib/paperclip/helpers.rb:29

有什么方法可以让 Paperclip 与 JRuby 顺利工作?我只在 linux 上运行我的应用程序,所以我不介意使用像 ImageMagick 这样的 linux native 工具。

Rails 3.2.8,JRuby 1.6.7.2

最佳答案

这在 JRuby 1.7 中仍然是一个问题。有一个caveat JRuby 在 Cocaine 上注明将其定义为 JRuby 问题的 Github 页面。对我来说,在撰写本文时,让它工作的唯一方法是使用
Cocaine::CommandLine.runner = Cocaine::CommandLine::BackticksRunner.new
Runners 中所述可卡因 Github 页面的部分。

关于ruby-on-rails - JRuby 回形针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12387405/

相关文章:

ruby-on-rails - 在 :string not working on Active Admin (Rails 3. 2/postgresql 上过滤)

ruby-on-rails - 将 Discourse SSO 与现有 Rails 站点与 Devise 相结合

ruby-on-rails - 通过 ruby​​ on Rails 中的回形针根据用户名的第一个字符添加缺失的图像

ruby-on-rails - 通过先写入 redis 来加速 web 服务,然后写入磁盘?

ruby-on-rails - 在 rails api 中设置所需的参数

jquery - 评估传递给 :onclick in Rails 的 jQuery 语句中的 Ruby 变量

ruby-on-rails - Paperclip - 他们如何创建附加到文件名的时间戳?

ruby-on-rails - 从 rmagick 图像创建回形针附件

ruby - 使用 JRuby 是否意味着在所有应用程序上复制 Ruby?

ruby - 无法从非常简单的 JRuby 脚本获取 rawr 来构建 jar