错误:在使用Ruby 2.2的Windows中安装rmagick时出错

时间:2016-07-21 08:24:49

标签: ruby-on-rails rmagick

我将我的代码从git克隆到我的Windows机器上,当我运行bundle install时,我收到了这个错误:

  

安装rmagick(2.13.4)和Bundler时发生错误   无法继续。确保gem install rmagick -v '2.13.4'   在捆绑之前成功。

D:\project\MyProject2>gem install rmagick -v '2.13.4'
  

暂时增强PATH以包含DevKit ...构建本机   扩展。这可能需要一段时间...错误:安装时出错   rmagick:           错误:无法构建gem原生扩展。

D:/RailsInstaller/Ruby2.2.0/bin/ruby.exe -r ./siteconf20160721-7208-bn9t3e.rb extconf.rb checking for Ruby version
     
    

= 1.8.5 ...是无效的驱动器规格。无法获得ImageMagick版本      * extconf.rb失败* 由于某些原因无法创建Makefile,可能缺少必要的库和/或标头。校验     mkmf.log文件以获取更多详细信息。您可能需要配置     选项。

  

我尝试下载ImageMagick,并将环境路径设置为:

CPATH=D:\ImageMagick-6.9.5-Q8\include
LIBRARY_PATH=D:\ImageMagick-6.9.5-Q8\lib

并运行bundle install但没有用,也尝试运行

gem install rmagick  -v '2.13.4' --platform=ruby -- --with-opt-lib=D:\ImageMagick-6.9.5-Q8\lib --with-opt-include=D:\ImageMagick-6.9.5-Q8\include

显示:

  

无法获得ImageMagick版本    * extconf.rb失败* 由于某些原因无法创建Makefile,可能缺少必要的库和/或标头。校验   mkmf.log文件以获取更多详细信息。您可能需要配置   选项。

请帮忙。

1 个答案:

答案 0 :(得分:3)

我自己也有同样的问题,直到我最终在Stackoverflow herehere上偶然发现了答案。

基本上您需要按照以下步骤操作:

  • 安装DevKit。由于我使用RailsInstaller在笔记本电脑上安装Ruby on Rails,因此它已经包含在默认目录“C:\ Serever \ RailsInstaller \ DevKit”中。否则,请在RubyInstallers downloads
  • 上找到.exe
  • imagemagick.org安装ImageMagick-6.9.5-9-Q16-x86-dll.exe。似乎rmagik 2.16仅支持ImageMagick 6,而不支持ImageMagick 7.
  • 确保安装了正确版本的ImageMagick x86或x32。如果您不确定安装了什么ruby版本,请尝试以下命令:ruby -e "puts 1.size"。如果x86则打印4,如果x64打印8。来自here
  • 的回答
  • 检查安装屏幕上的以下选项(redmine website上的更多信息):
    • [v]将应用程序目录添加到系统路径
    • [v]安装C和C ++的开发标头和库
  • 在Windows环境变量中设置PATH变量以包含ImageMagick的路径。就我而言:C:\Server\ImageMagick\。确保它是变量列表中的第一个变量,或者当extconf.rb尝试识别ImageMagick版本时,您可能会遇到“无效的驱动器规范”错误。
  • cd C:\YourRubyProject。示例:C:\Server\htdocs\dev-ruby\redmine
  • CPATHLIBRARY_PATH环境变量分别指向ImageMagick安装目录include和lib子目录(因此DevKit将在构建时找到它们)
  • 打开C:\Serever\RailsInstaller\DevKit\msys.bat。更多详情here
  • 运行gem install rmagick --platform=ruby -- --with-opt-lib=C:/Server/ImageMagick/lib --with-opt-include=C:/Server/ImageMagick/include。根据项目的需要调整路径。
  • 最后,运行bundle install,或者必要时bundle update

注意:对于那些希望在xampp中安装redmine的人,请按照tutorial进行操作。如果您无法安装rmagick lib,请返回此答案并按照提供的步骤操作。