ImageScience をインストールして、さまざまなサイズの画像に簡単にサイズ変更し、それらを別のディレクトリにコピーしました。すべて非常に簡単です。この小さくて単純なルーチンは、レーキ タスクにありました。Rails 3 に更新しても、この rake タスクは引き続き機能します (AR 挿入とオーディオ エンコーディングも実行します) が、image_science の require は次のようなメッセージで失敗します。
"require on /home//.ruby_inline/Inline_ImageScience_cdab.so に失敗しました"
IRB にアクセスして ImageScience を簡単に呼び出してサムネイルを作成できるので、ダフな ImageScience のインストールは除外しました。rake タスクの残りの部分は、「image_science」または ImageScience ルーチンが必要であるという記述をコメントアウトすると、以前と同様に機能します。
失敗時の 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 の呼び出し方法に突然不満を感じたのはなぜでしょうか? OS は Ubuntu 10.10 ですが、Rails 3 にアップグレードする前はすべて動作していました。
前もって感謝します