好的,我一整天都在尝试在Windows 7 x64机器上安装Rmagick。我查看了Stack Overflow和其他网站上的每个教程,但无论我遵循哪个教程,我都会收到“无效驱动器规范”错误。我的环境来自http://railsinstaller.org/。是否有最近成功安装Rmagick并可以指导我的人?谢谢,这让我发疯了,但我真的必须让它工作。
好的,我一整天都在尝试在Windows 7 x64机器上安装Rmagick。我查看了Stack Overflow和其他网站上的每个教程,但无论我遵循哪个教程,我都会收到“无效驱动器规范”错误。我的环境来自http://railsinstaller.org/。是否有最近成功安装Rmagick并可以指导我的人?谢谢,这让我发疯了,但我真的必须让它工作。
首先,最重要的是在报告问题或请求帮助时,一定要提供有关你正在尝试安装的版本信息,特别是Ruby。
看起来你正在使用RailsInstaller进行安装,但由于你没有提到是否是2.0预览版或稳定版,我会假设你使用的是稳定版,它基于Ruby 1.8.7-p334。
现在,RailsInstaller已经包含了所需的组件:Ruby和RubyInstaller DevKit组件,因此将跳过安装步骤,直接进入RMagick本身。
为了成功安装RMagick gem,你需要带有开发头文件的ImageMagick二进制文件,如RubyInstaller的教程wiki页面中所述,其中链接此处
请下载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
现在你可以使用IRB验证RMagick是否已成功安装:
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 wiki上有另一个教程涵盖了这一点,但请阅读RubyInstaller组中的此线程,我们在其中讨论了问题。
希望所有这些都有所帮助。
我尝试了上面的方法,但对我不起作用。关键在于使用RailsInstaller附带的GitBash,它还包含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
从ImageMagick.org下载最新的ImageMagick安装程序(撰写时,为"[ImageMagick-6.8.7-0-Q16-x86-dll.exe][3]"——完整的安装程序(而非二进制文件))
下载后,在不包含任何空格的文件路径中安装ImageMagick,并选中以下选项:
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**
这应该对你有帮助。
很抱歉,我没有足够的权限,在此处发布我的评论给Luis Lavena的答案。
对我有效的一个解决方案是从“带有Ruby和Rails的命令提示符”(从Windows开始菜单)运行Luis Lavena的解决方案。它会加载所有必要的配置。