rmagick не найдет imagemagick на сервере - PullRequest
6 голосов
/ 23 декабря 2010

Я развертываю railsapp для Ubuntu

rmagick устанавливается через "поставщика установки комплекта".оно устанавливается, и приложение запускается - но эта ошибка выдается:

uninitialized constant Image::Magick

при попытке прочитать:

source_image = Magick::Image.read("#{Rails.root}/public/system/assets/#{self.id}/original/#{self.asset_file_name}").first

Я сделал следующее:

  • неинсталлировано, затем переустановлено, ImageMagick на сервере
  • удалено, затем переустановлено, rmagick на сервере
  • удалено, затем переустановлено, rmagick через компоновщик
  • работает столько установленный rmagick
  • запускается с установленным rmagick и 10 *
  • прокси-сервером nginx на rails-сервере, чтобы ошибка не была связана с

IЯ немного схожу с ума, пытаясь понять, что еще я могу сделать, чтобы rmagick увидел imagemagick

Ответы [ 2 ]

39 голосов
/ 30 декабря 2010

После нескольких часов борьбы и перекомпиляции imagemagick и rmagick под разными комбинациями, мне повезло с исправлением в 1 строку

Gemfile

- gem 'rmagick'
+ gem 'rmagick', :require => 'RMagick'

Bundler по умолчанию требуется имя гема

то есть :require => 'rmagick'.

Но включаемый файл на самом деле 'RMagick.rb'.Для нечувствительных к регистру файловых систем, таких как OS X, это будет работать, но для чувствительных к регистру файловых систем , таких как Ubuntu, файл не будет найден.

Это может быть одной из причин, по которой ошибка не может появиться в системе разработки даже при работе в рабочем режиме.

0 голосов
/ 16 января 2014

Выполнение gem install rmagick в качестве привилегированного пользователя устранило проблему для меня.

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

...