不会让我在Ruby提示符下安装Gem

时间:2009-12-29 00:29:53

标签: windows ruby install windows-vista gem

Windows Vista,Ruby v.3.3.5

C:\>gem install rmagick

Building native extensions.  This could take a while...

ERROR:  Error installing rmagick:
        ERROR: Failed to build gem native extension.

C:/Ruby19/bin/ruby.exe extconf.rb
checking for Ruby version >= 1.8.5... yes
Invalid drive specification.
Unable to get ImageMagick version
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby19/bin/ruby


Gem files will remain installed in C:/Ruby19/lib/ruby/gems/1.9.1/gems/rmagick-2.
12.2 for inspection.
Results logged to C:/Ruby19/lib/ruby/gems/1.9.1/gems/rmagick-2.12.2/ext/RMagick/
gem_make.out

4 个答案:

答案 0 :(得分:5)

在Windows上,您应该使用rmagick-win32 gem。

http://rmagick.rubyforge.org/install-faq.html#win

答案 1 :(得分:2)

您可以使用以下命令在Windows上编译rmagick:

gem install rmagick -- '--with-opt-dir="[path to ImageMagick]"'

这个命令有三个值得注意的事情:

  1. 有一个双击分隔“rmagick”和--with-opt-dir选项
  2. --with-opt-dir选项由单引号
  3. 包围
  4. ImageMagick目录的路径由双引号
  5. 包围

    如果使用此语法,则可以在ImageMagick目录的路径中包含空格。我认为路径也不关心向前或向后斜线,但我使用反斜杠。

    您还必须确保另外两件事:

    1. ImageMagick安装了开发头选项(安装lib和include目录)
    2. ImageMagick是您系统路径中的第一个
    3. 如果ImageMagick不是系统路径中的第一个,当extconf.rb尝试识别ImageMagick版本时,您将收到“无效的驱动器规范”错误。

      所有这一切,我都经历过使用rmagick和ImageMagick的一些版本配对而失败。我能够在Windows 7和Server 2003上一起构建ImageMagick 6.7.7和rmagick 2.13.1。

答案 2 :(得分:1)

下载此rmagick-2.13.2.gem gem并保存在您当地。

在gem文件所在的cmd提示符中打开存储库,然后运行以下cmd

gem install rmagick-2.13.2.gem --platform=ruby --with-opt-lib=C:/ImageMagick-6.6.7-Q16/lib --with-opt-include=c:/ImageMagick-6.6.7-Q16/include

答案 3 :(得分:-1)

一个简单的谷歌搜索产生了一个非常有希望的结果:rmagick on windows。顺便说一句,我猜你使用的是Ruby 1.8.5 / 1.8.7,但肯定不是3.3.5(如果你这样做,请让我加入你的时间旅行冒险。我们可以成为朋友!)< / p>