Ruby on Rails RMagick в Windows 7

Хорошо, я почти весь день пытался установить Rmagick на машину с Windows 7 x64. Я проверил каждый учебник на Stack Overflow и других сайтах, но я продолжаю получать сообщение об ошибке «Недопустимая спецификация диска» независимо от того, какой учебник я использую. Моя среда взята с http://railsinstaller.org/. Кто-нибудь недавно успешно установил Rmagick, который может указать мне правильное направление? Спасибо, это сводит меня с ума, но я действительно должен заставить это работать.


person jwBurnside    schedule 24.06.2011    source источник


Ответы (5)


Первое и самое важное: сообщая о проблемах или обращаясь за помощью, всегда указывайте информацию о версии того, что вы пытаетесь установить, особенно Ruby.

Кажется, вы устанавливаете с помощью RailsInstaller, но, поскольку вы не упомянули, является ли это предварительной версией 2.0 или стабильной, я предполагаю, что вы использовали стабильную версию, основанную на Ruby 1.8.7-p334.

Теперь RailsInstaller уже включает в себя необходимые компоненты: Ruby и компонент RubyInstaller DevKit, поэтому мы пропустим шаги по его установке и перейдем непосредственно к самому RMagick.

Чтобы успешно установить RMagick gem, вам потребуются двоичные файлы ImageMagick с заголовками разработки, как описано на вики-странице RubyInstaller Tutorial., на который ссылается здесь

Пожалуйста, загрузите 32-битную версию ImageMagick, так как Ruby является 32-битной.

Для теста я скачал версию установщика ImageMagick-6.7.0-8-Q16-windows-dll.exe

После загрузки и установки по пути без пробелов я выбрал вариант Установить заголовки разработки и библиотеки для C и C++.

Затем откройте новую командную строку, убедитесь, что Ruby доступен (проверив с помощью ruby -v), и выполните следующую команду:

gem install rmagick --platform=ruby -- --with-opt-lib=C:\ImageMagick-6.7.0-Q16\lib --with-opt-include=C:\ImageMagick-6.7.0-Q16\include

Эта команда займет значительное количество времени (на моем Core 2 Duo она заняла 1 минуту), но конечный результат был таким:

Fetching: rmagick-2.13.1.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Successfully installed rmagick-2.13.1
1 gem installed

Теперь вы можете проверить успешность установки RMagick с помощью IRB:

irb(main):001:0> require "rubygems"
=> true
irb(main):002:0> require "rmagick"
=> true
irb(main):003:0> Magick::Version
=> "RMagick 2.13.1"

Теперь, если вы используете Ruby 1.9.2, последняя версия RMagick несовместима с ней, и вам нужно будет собирать из исходного кода. На вики RubyInstaller есть еще одно руководство, посвященное этому, но, пожалуйста, прочитайте эту тему в группе RubyInstaller. мы обсуждаем вопросы.

Надеюсь, все это поможет.

person Luis Lavena    schedule 25.06.2011
comment
Спасибо, что посмотрели это для меня, но я все еще получаю сообщение об ошибке Invalid Drive Specification, когда пытаюсь установить gem. Мои версии 1.8.7 для Ruby и 3.0.9 для Rails. Я точно следовал инструкциям, но все же получил те же результаты, что и со всеми другими уроками по этой теме. Любые идеи? - person jwBurnside; 25.06.2011
comment
Ну наконец-то я понял, что я делаю не так. Я использовал командную строку с Ruby и Rails для выполнения всех моих действий в командной строке, и я думаю, что это испортило пути. Я переключился на обычную командную строку Windows, и все прошло успешно. - person jwBurnside; 25.06.2011
comment
После одного дня перебора многих решений это сработало! Большое спасибо! - person Renato Lochetti; 28.06.2013
comment
Он работал с использованием ImageMagick 6.7.7 и Ruby 1.9.3. Одна интересная деталь: Сначала я установил версию 64b, и она не удалась. Затем я попробовал 32 бита, как в этом ответе, и это сработало! Хотя у меня винда 64б. - person Tiago Farias; 05.07.2013
comment
@TiagoFarias 64bits Windows может запускать 32-битные приложения. Вы должны знать, что Ruby 32-битный. Только в Ruby 2.0.0 мы представили 64-битную версию, но для этого вам нужно, чтобы все задействованные библиотеки и зависимости имели доступные 64-битные версии. - person Luis Lavena; 08.07.2013
comment
Спасибо, это сработало для меня! Просто примечание, которое я впервые попробовал на Git Bash, и это не удалось. ОШИБКА: Ошибка при установке rmagick: ОШИБКА: Не удалось создать собственное расширение gem. Но затем использовал Console2 для Windows и успешно установил - person uguMark; 31.07.2013

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

Установить railsinstaller -> www.railsinstaller.org (я установил его на c:\ Rails)
Установите ImageMagick -> ImageMagick-6.7.3-8-Q16-windows-dll.exe (я установил его в c:\ImageMagick)

Откройте GitBash

$ gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/lib --with-opt-include=c:/ImageMagick/include


Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Successfully installed rmagick-2.13.1
1 gem installed
Installing ri documentation for rmagick-2.13.1...
Installing RDoc documentation for rmagick-2.13.1...

Кроме того, в gemfile я закомментировал gem 'rmagick' в группе разработчиков

Вот как выглядит мой gemfile

group :development do #this is used on localhost
 gem 'mysql2'
 gem 'paperclip'
 #gem 'rmagick' #dont need this
 gem 'devise'
end



group :production do #this is used on heroku
 gem "pg" #this is postgresql used on heroku
 gem "aws-s3" #this is used for amason S3 filestorage

 gem 'paperclip'
 gem 'rmagick'
 gem 'devise'
end
person Francois    schedule 27.11.2011
comment
эта версия была удалена, версия не найдена при нажатии на URL-адрес, знаете ли вы какое-либо другое решение? - person sunil; 11.06.2020

У нас только что была эта проблема с Windows 7, Ruby 2.0 и Rails 4.0.

Это руководство работает очень хорошо:

  1. Загрузите последнюю версию установщика ImageMagick с сайта ImageMagick.org (на момент написания [ImageMagick -6.8.7-0-Q16-x86-dll.exe][3] -- полный установщик (не бинарники))

  2. После загрузки установите ImageMagick без каких-либо пробелов в пути к файлу (например, C:/ImageMagick), установив следующие параметры:

  • Добавьте каталог приложений в системный путь
  • Заголовки разработки установщика для библиотек C и C++
  1. В CMD Ruby установите RMagick Gem, указав правильные пути к файлам:

gem install rmagick --platform=ruby -- --with-opt-lib=**c:/ImageMagick-6.7.0-Q16/lib** --with-opt-include=**c:/ImageMagick-6.7.0-Q16/include**

Это должно сработать для вас

person Joe Hilton    schedule 07.10.2013

Я установил его около месяца назад. Одной из многих ошибок, которые мне пришлось преодолеть, была «Недопустимая спецификация диска».

Я только что начал вести блог с постом об установке RMagick на Win7 на основе моего < a href="https://stackoverflow.com/questions/5811388/imagemagick-core-rl-magick-dll-not-found-or-how-to-install-rmagick-on-window"> вопрос с самостоятельным ответом < /а> здесь. Одно примечание: я использовал ruby ​​​​1.9.2, а railsinstaller, похоже, использует 1.8.7.

Если я правильно помню, эта ошибка может быть вызвана пробелами в пути установки вашего изображения magick.

person bassneck    schedule 24.06.2011

У меня недостаточно привилегий, извините за размещение моего комментария к ответу Луиса Лавены здесь.

Одним из решений, которое сработало для меня, был запуск решения Луиса Лавены из «Командной строки с Ruby и Rails» (из меню «Пуск» Windows). Он загружает все необходимые конфигурации.

person dinnouti    schedule 22.10.2012