У меня была работающая (и хорошо работающая) установка ImageScience, которая выполняла простое изменение размера изображений до различных размеров, а затем копировала их в разные каталоги. Все очень просто. Эта небольшая и простая процедура была в задаче грабли. После обновления до Rails 3 эта задача rake по-прежнему будет работать (она также выполняет некоторые вставки AR и кодирование звука), но запрос image_science завершается с ошибкой с сообщением вроде этого:
«требовать на /home//.ruby_inline/Inline_ImageScience_cdab.so не удалось»
Я исключил ошибочную установку ImageScience, так как могу зайти в IRB и сделать несколько простых вызовов 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>
Rakefile в корневом каталоге приложения rails является стандартным Rakefile Rails 3, например,
# 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.
заранее спасибо