2010-04-03 20 views
15

Tôi đang cố gắng tìm ra cách để có được rmagick trên ứng dụng của tôi, và sau đó làm cho nó hoạt động trên Heroku?RMagick + Rails + Heroku?

+2

Bạn đã làm gì cho đến nay và những gì không hoạt động? – yfeldblum

Trả lời

8

Ok vậy để tham khảo trong tương lai heres những gì cần phải được thực hiện.

Trong .gems của bạn tập tin bạn cần:

rmagick 

và sau đó trong config/tập tin environment.rb của bạn, bạn cần:

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

Bởi vì nó đã được cài đặt sẵn với Heroku - điều này làm các trick .

+0

Xin chào, tôi đã thêm các dòng trước trong config/environnement.rb nhưng nó không hoạt động khi tôi chạy các đường ray s. – Luc

+0

Luc, đó là vì vấn đề là các máy chủ của Heroku đã cài đặt rmagick. (Điều này là bởi vì nó là một cơn đau để cài đặt một cách chính xác, tất nhiên.) Chạy 'rails s' sử dụng đá quý địa phương của riêng bạn, mà yêu cầu bạn phải thiết lập imagemagick và rmagick mình. – Sanarothe

1

Bạn chỉ cần thêm tuyên bố yêu cầu vào bất kỳ lớp nào. Đó là trường hợp nhạy cảm!

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

Tôi không có tệp đó trong tệp .gems hoặc bất kỳ thứ gì và trong bảng điều khiển của tôi, vì vậy có vẻ như nó chỉ ở đó theo mặc định.

4

Tùy thuộc vào chồng bạn đang sử dụng trên Heroku. Ngăn xếp Aspen mặc định bao gồm rất nhiều đá quý được tải sẵn. Vì lý do tương thích, ngăn xếp mới hơn của Bamboo không có đá quý được cài đặt sẵn. Nó luôn luôn là tốt hơn để xác định phụ thuộc đá quý của bạn trong tệp kê khai .gems hoặc trong kiểu gói mới của Gemfile.

Thông tin thêm:
Stacks: http://docs.heroku.com/stack
Gems: http://docs.heroku.com/gems

20

Đối Rails3, bạn phải thêm đặc điểm kỹ thuật này:

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

Ghi chú: yêu cầu là trường hợp nhạy cảm

+5

Upvote cho cách sáng tạo để nhanh chóng vượt qua những gì có nghĩa là trường hợp nhạy cảm. – lala

7

Một khi tôi đã làm như sau từ capps câu trả lời.

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

Sau đó, tôi thêm tuyên bố yêu cầu vào bất kỳ tệp nào sử dụng rmagick nó đã khắc phục sự cố của tôi.

require 'RMagick' 

này làm việc trên đường ray Heroku tuyết tùng chồng chạy 3.1

1

Tôi biết bài này là khá cũ nhưng tôi chỉ chạy vào này bản thân mình.

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

Làm việc cho tôi. Theo nhật ký Heroku của tôi RMagick không còn được dùng với lợi ích của rmagick (tất cả các chữ thường).

Hy vọng điều này sẽ giúp người dùng Googler trong tương lai.

Các vấn đề liên quan