错误:在使用Ruby 2.2的Windows中安装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文件以获取更多详细信息。 您可能需要配置选项。
请帮忙。
我自己也有同样的问题,直到我最终在这里和这里偶然发现Stackoverflow的答案。
基本上您需要按照以下步骤操作:
- 安装DevKit 。 由于我使用RailsInstaller在笔记本电脑上安装Ruby on Rails,因此它已经包含在默认目录“C:\ Serever \ RailsInstaller \ DevKit”中。 否则,在RubyInstallers下载中找到.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。 从这里回答 - 检查安装屏幕上的以下选项( redmine网站上的更多信息):
- [v]将应用程序目录添加到系统路径
- [v]为C和C ++安装开发头文件和库
- 在Windows环境变量中设置
PATH
变量以包含ImageMagick的路径。 就我而言:C:\Server\ImageMagick\
。 确保它是变量列表中的第一个变量,或者当extconf.rb尝试识别ImageMagick版本时,您可能会遇到“无效的驱动器规范”错误。 -
cd C:\YourRubyProject
。 示例:C:\Server\htdocs\dev-ruby\redmine
。 - 设置
CPATH
和LIBRARY_PATH
环境变量分别指向ImageMagick安装目录include和lib子目录(因此DevKit将在构建时找到它们) - 打开
C:\Serever\RailsInstaller\DevKit\msys.bat
。 更多细节在这里 - 运行
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的人,请遵循本教程 。 如果您在安装rmagick
lib时遇到困难,请返回此答案并按照提供的步骤操作。