gpt4 book ai didi

ruby-on-rails - ImageScience 在更新到 Rails 3 时中断

转载 作者:行者123 更新时间:2023-12-04 03:37:00 24 4
gpt4 key购买 nike

我有一个工作(并且工作良好)的 ImageScience 安装,它对图像的各种尺寸进行了一些简单的调整,然后将它们复制到不同的目录。一切都很简单。这个小而简单的例程是在一个 rake 任务中。更新到 Rails 3 后,此 rake 任务仍然有效(它也执行一些 AR 插入和音频编码),但 image_science 要求失败并显示如下消息,

“要求/home//.ruby_inline/Inline_ImageScience_cdab.so 失败”

我已经排除了 duff ImageScience 安装,因为我可以进入 IRB 并对 ImageScience 进行一些简单的调用并制作缩略图。如果我注释掉任何需要“image_science”或 ImageScience 例程的提及,则 rake 任务的其余部分会像以前一样工作。

失败时 rake 的输出是这样的,

/var/lib/gems/1.8/gems/RubyInline-3.8.6/lib/inline.rb:513:in `load'
/var/lib/gems/1.8/gems/RubyInline-3.8.6/lib/inline.rb:829:in `inline'
/var/lib/gems/1.8/gems/image_science-1.2.1/lib/image_science.rb:90
...
<active_support complaints >
...
/home/<user>/RailsApps/marlow/lib/tasks/flac_import.rake:2
...
<rails complaints>
...
/home/<user>/RailsApps/marlow/Rakefile:7
...
<standard complaints to end>

Rails 应用程序根目录中的 Rakefile 是标准的 Rails 3 Rakefile,如下所示,

# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require File.expand_path('../config/application', __FILE__)
require 'rake'

Marlow::Application.load_tasks

最后一行是第 7 行。

我有点困惑是什么破坏了它,而 Google 似乎没有透露任何信息。有谁知道为什么 RubyInline 提示?或者为什么这个曾经有效的 Rake 任务突然对 ImageScience 的调用方式感到不满?操作系统是 Ubuntu 10.10,但在升级到 Rails 3 之前一切正常。

提前致谢

最佳答案

这似乎确实是问题所在,但我通过细读 carlhuda issues 431 上的评论发现了一个更简单的解决方法

我遇到了同样的问题,它对我有用。只需将 require 方法更改为 Kernel.require

之后,您的代码中就不需要使用 require image_science 语句。

关于ruby-on-rails - ImageScience 在更新到 Rails 3 时中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4280878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com