2010-04-03 3 views
15

Я пытаюсь выяснить, как получить rmagick в своем приложении, а затем заставить его работать на Heroku?RMagick + Rails + Heroku?

+2

Что вы сделали до сих пор и что не работает? – yfeldblum

ответ

8

ИТАК для будущей ссылки Вот что должно быть сделано.

В ваших .gems файл вам нужно:

rmagick 

, а затем в вашем конфигурационном файле/environment.rb вам нужно:

config.gem "rmagick", 
:lib => "RMagick" 

Потому что его уже с предустановленным Heroku - это делает трюк ,

+0

Здравствуйте, я добавил предыдущие строки в config/environnement.rb, но он не работает, когда я запускаю рельсы s. – Luc

+0

Люк, это потому, что дело в том, что на серверах Heroku уже установлен rmagick. (Это потому, что это, конечно, боль, чтобы правильно установить.) Запуск «рельсов s» использует ваши собственные местные драгоценные камни, которые требуют, чтобы у вас была установка imagemagick и rmagick. – Sanarothe

1

Вам просто нужно добавить инструкцию require в любом классе. Это чувствительно к регистру!

[email protected]:~/projects/myapp$ heroku console --app myapp 
Ruby console for myapp.heroku.com 
>> require 'RMagick' 
=> [] 
>> include Magick 
=> Object 

у меня нет, что в моем файле .gems или что-нибудь, а там в моей консоли, так что кажется, что это просто есть по умолчанию.

4

Это зависит от того, какой стек вы используете на Heroku. По умолчанию стек Aspen включает в себя множество драгоценных камней, предварительно загруженных. По соображениям совместимости в новом стеке Bamboo нет предустановленных драгоценных камней. Всегда лучше определять зависимости вашего драгоценного камня в манифесте .gems или в новом стиле Gemfile.

Подробнее:
Стеки: http://docs.heroku.com/stack
Драгоценные камни: http://docs.heroku.com/gems

20

Для Rails3, вы должны добавить эту спецификацию:

жемчужина "RMagick", "2.12.0",: требуется => 'RMagick'

Примечание: требуется чувствительно к регистру

+5

Upvote для творческого способа быстро преодолеть то, что чувствителен к регистру. – lala

7

Как только я сделал следующее из ответов на подсказки.

gem "rmagick", "2.12.0", :require => 'RMagick' 

Затем я добавил инструкцию require к любому файлу, используя rmagick, и исправил мою проблему.

require 'RMagick' 

Это работало на Heroku стек кедр ходовых рельсов 3.1

1

Я знаю, что этот пост довольно старый, но я только столкнулся с этим сам.

gem 'rmagick', '2.16.0', :require => 'rmagick'

работал для меня. Согласно моим журналам Heroku RMagick устарел в пользу rmagick (все в нижнем регистре).

Надеюсь, что это поможет будущему Гуглеру.

Смежные вопросы