RMagick замораживает процессы ruby, когда это требуется в OS X Snow Leopard - PullRequest
1 голос
/ 03 февраля 2010

У меня довольно странная проблема. Я установил ImageMagick через доморощенный.

Я установил rmagick-2.12.2 и rmagick-2.11.2 без проблем.

Я не получаю ошибок при установке.

Кажется, ImageMagick установлен и у меня на пути:

$ convert --version
Version: ImageMagick 6.5.6-5 2010-01-30 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC

Однако, как только RMagick загружен или требуется в приложении rails, irb, сценарии ruby ​​и т. Д., Процесс ruby ​​зависает и может быть уничтожен только через kill -9.

Я не уверен, как отладить, в чем здесь проблема, поскольку там никогда не бывает сообщений об ошибках или трассировки стека. У кого-нибудь есть предложения?

Ответы [ 3 ]

1 голос
/ 05 февраля 2010

RMagick и Ruby 1.8.6 больше не совместимы на Snow Leopard из-за неясной ошибки в Ruby, которая еще не была перенесена.

Чтобы использовать RMagick и Ruby на Snow Leopard, убедитесь, что вы:Вы используете Ruby 1.8.7 или выше.

1 голос
/ 09 февраля 2010

Чтобы обойти это, я удалил гем rmagick и версию imagemagick для macports, а затем переустановил imagemagick с помощью установщика здесь: http://github.com/masterkain/ImageMagick-sl. Затем я переустановил гем rmagick.

По какой-то причине, это не вызывает, но упоминалось в предыдущем посте, и rmagick загрузится успешно.

0 голосов
/ 04 февраля 2010

Рассматривали ли вы просто использование MiniMagick, http://rubyforge.org/projects/mini-magick/, вместо использования RMagick? Я очень широко использовал RMagick и могу сказать, что вы в конце концов откажетесь от него. Является ли это сейчас, потому что это - трудная установка или позже, потому что это настолько интенсивно использует память и сбивает случайные процессы пассажир / дворняга, в чем действительно разница.

MiniMagick предоставляет функциональность, аналогичную RMagick, но является оболочкой для версии convert командной строки и гораздо более стабильна, поскольку не пытается вызывать API ImageMagick и управлять большими двоичными объектами в памяти, как это делает RMagick.

...