2

私のRmagicは機能しません

ルビー-v

ルビー1.8.7(2010-01-10パッチレベル249)[i386-mingw32]

rails -v

Rails 3.0.0.beta4

irb

rubygemsが必要

true

rmagickが必要

true

しかし、私はフローコードを入れました:

gem'rmagick'、:require => false

エラー:

Rubyバージョンのチェック>=1.8.5...はい
stdint.hをチェックしています...いいえ
sys/types.hをチェックしています...いいえ
wand/MagickWand.hをチェックしています...いいえ

RMagick2.13.1をインストールできません。MagickWand.hが見つかりません。
***extconf.rbが失敗しました***
何らかの理由でMakefileを作成できませんでした。
必要なライブラリおよび/またはヘッダー。詳細については、mkmf.logファイルを確認してください
詳細。構成オプションが必要になる場合があります。

提供される構成オプション:
        --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:/ Ruby / bin / ruby


Gemファイルは検査のためにC:/Ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1にインストールされたままになります。
結果はC:/Ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1/ext/RMagick/gem_make.outに記録されました
        C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `each '
        C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `build_extensions '
        C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in`install'から
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/source.rb:100:in`install'から
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:55:in `run '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:44:in `run '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:8:in`install'から
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/cli.rb:217:in`install'から
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `send '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `run '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb:118:in`invokeから
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb:246:in `dispatch '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb:389:in `start '
        C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/bin/bundle:13から
        C:/ Ruby / bin / bundle:19:in`load'から
        C:/ Ruby / bin / bundle:19から

助けてください、ありがとう!

4

2 に答える 2

2

MagickWand.hはImageMagickの一部であり、RMagickインストーラーはそれを見つけることができません。システムにImageMagickをインストールする必要があるようです。インストールしている場合は、gemインストーラーが認識できるパスにライブラリを追加する必要があります。RMagickは、システムにImageMagickまたはGraphicsMagickがインストールされていないと機能しません。

更新された回答 Windowsを使用しているため、gemを手動でダウンロードしてインストールする必要があります。インストールに関するFAQには次のように書かれています。

rmagick-win32gemを使用します。このgemは、ImageMagick Windowsインストーラーのコピーにバンドルされているため、独自のコピーをダウンロードする必要はありません。RubyForgeのRMagickプロジェクトページからrmagick-win32gemをダウンロードし、一時ディレクトリに解凍して、パッケージに含まれているREADME.htmlファイルの指示に従います。

http://rubyforge.org/projects/rmagick/

競合が発生した場合に備えて、インストール済みのimagemagickバージョンをアンインストールすることをお勧めします。gemを手動でインストールすると、Gemfileに入れてバンドルインストールできるようになります。Windowsでrmagickを使用したことがないので、gemを「rmagick」または「rmagick-win32」と呼んでいるかどうかはわかりません。gemを手動でインストールした後、「gemlist」コマンドを実行することでおそらくそれを理解できます。どちらが表示されるかを確認し、それをGemfileに入れて、インストールされているバージョンを見つけられるようにします。Bundlerは、新しいgemをインストールしようとする代わりに、このgemを使用します。

于 2010-09-20T01:44:28.107 に答える
-1

このコードはうまくいくはずです...

require 'RMagick' いいえ require 'rmagick'

于 2011-06-10T08:51:58.477 に答える