2010-04-03 14 views

Odpowiedz

8

Ok tak na przyszłość herezje, co należy zrobić.

W swoim .gems trzeba złożyć:

rmagick 

a następnie w pliku config/environment.rb trzeba:

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

Ponieważ jej już preinstalowany Heroku - to załatwia sprawę .

+0

Witaj, Dodałem poprzednie linie w config/environnement.rb, ale to nie działa, gdy uruchamiam szyny s. – Luc

+0

Luc, to dlatego, że serwery Heroku mają już zainstalowany rmagick. (Dzieje się tak dlatego, że oczywiście instalacja jest bezpieczna.) Uruchamianie "rails" używa własnych lokalnych klejnotów, które wymagają samodzielnego skonfigurowania imagemagick i rmagick. – Sanarothe

1

powinny Wystarczy dodać wymagają oświadczenie w dowolnej klasie. Wielkość liter ma znaczenie!

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

nie mam, że w moim pliku .gems lub cokolwiek, i nie jest to w mojej konsoli, więc wydaje się, że to właśnie tam domyślnie.

4

To zależy od stosu używasz na Heroku. Domyślny stos Aspen zawiera wiele wstępnie załadowanych klejnotów. Ze względu na kompatybilność nowy stos Bamboo nie ma wstępnie zainstalowanych klejnotów. Zawsze lepiej jest zdefiniować zależności gem w manifeście .gems lub w nowym stylu Gemfile w bundlerach.

Więcej informacji:
Stosy: http://docs.heroku.com/stack
Gems: http://docs.heroku.com/gems

20

Dla Rails3, trzeba dodać specyfikacji:

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

Uwaga: require jest wielkość liter

+5

Awansuj na twórczy sposób, aby szybko zorientować się, o co chodzi. – lala

7

Raz zrobiłem to z odpowiedzi capps.

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

Następnie dodałem instrukcję require do dowolnego pliku używającego rmagick do poprawienia mojego problemu.

require 'RMagick' 

To działało na Heroku cedr stos szyn jezdnych 3.1

1

Znam ten post jest dość stary, ale ja po prostu wpadł na ten sam.

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

pracował dla mnie. Według moich dzienników Heroku RMagick jest przestarzałe na rzecz rmagick (wszystkie małe litery).

Nadzieja to pomaga przyszłej Googlera.

Powiązane problemy