RMagick 설치 : MagickWand.h를 찾을 수 없습니다


164

RMagickImagemagick 업데이트 는 고통스러운 경험입니다. Ruby 2.3에서 하나의 프로젝트에 대해 homebrew로 Mac의 Imagemagick 버전 (MacOS El Capitan 버전 10.11.5)을 업데이트했습니다.6.9.5-9

$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09

이제 Ruby 1.8.7의 이전 프로젝트는 "이 RMagick 설치는 ImageMagick 6.8.9로 구성되었지만 ImageMagick 6.9.5-9가 사용 중입니다"라는 오류 메시지와 함께 작동하지 않습니다. 따라서 "rmagick"를 제거했지만 다시 설치할 수 없습니다

$ gem install rmagick -v 2.16.0
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

checking for /usr/local/opt/gcc46/bin/gcc-4.6... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... no
checking for sys/types.h... no
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h. 

그리고 설치할 수 없으면 전체 응용 프로그램을 시작할 수 없습니다. 나는 모든 대답하려고 여기를 , 그리고 그들 중 누구도 맥 OS에서 작동하지 않습니다 :-( 나는 사제와 ImageMagick이와 PKG-설정을 다시 설치하고, 성공하지 RMagick의 다양한 버전을 시도했다. 2.16.0이 최신 버전입니다 RMagick 현재.

MagicWand는 ImageMagick 버전> 6.9에서 사용되는 것으로 보이며 컴퓨터에서 찾을 수 있습니다.

find /usr/local -name MagickWand.h
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6/wand/MagickWand.h

find /usr/local -name MagickWand.pc
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/lib/pkgconfig/MagickCore.pc

gem 설치 중에 이러한 경로를 지정해도 작동하지 않습니다 (위와 동일한 오류) :-(

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick

최신 정보:

Ruby 1.8.7에서만 오류가 발생하며 Ruby 2.0 및 Ruby 2.3 용 RMagick을 설치할 수 있습니다. Ruby 1.8.7 및 ImageMagick 6.9.5는 호환되지 않는 것 같습니다.

  • 루비 1.8.7 x
  • 루비 2.0.0 ✓
  • 루비 2.3.1 ✓


해리포터 게임이 뭐야?
제한 속죄

답변:


460

Mac OSX Sierra, High Sierra, El Capitan, Mojave 및 Catalina 의 문제를 해결하려면 다음을 수행하십시오.

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force

imagemagick@6입니다 keg-only. 따라서 강제로 연결해야합니다.


7
brew unlink imagemagick링크하기 전에 수동으로 링크 를 해제해야 했지만 작동했습니다. 고마워
Haris Krajina

2
와. Super는 최신 버전의 ImageMagick을 가질 수 없다고 생각하지만 작동합니다. 감사!
Fomentia

1
우분투와 완벽하게 작동 우분투 16.04.3 LTS
폭력 자

55

ImageMagick 7.0.4-4 와 동일한 문제가 있었습니다 . 올바른 수정 방법은 설치하는 것 imagemagick@6입니다. 실수로 삭제 하거나 처음 설치하지 않은 경우 https://github.com/Homebrew/homebrew-core/pull/8756이 유용하다는 것을 알았 imagemagick@6습니다.


와! 그 링크에 감사드립니다. 나는 이것을 고치려고 노력하는 나의 일의 거의 절반을 낭비했다.
kalehv

14
imagemagick @ 6은 술통 전용이므로 강제로 연결해야합니다. brew install imagemagick@6 && brew link imagemagick@6 --force나를 위해 해결
대런 청

1
대단해, 건배! 이것은 나를 위해 일했다 :brew install --force imagemagick@6 && brew link imagemagick@6 --force
Bella Bella

1
예, 이전 버전 (6x)을 설치하면 문제가 해결됩니다. 문제는 imagemagick 파일의 폴더 구조가 7x 버전에서 변경되었다는 것입니다. 그리고 gem을 설치하는 동안 6 배의 폴더 구조를 가정합니다
Prakash Raman

불행히도 imagemagick @ 6으로 롤백하는 것은 효과가 없습니다. 다시 설치하고 다시 연결 한 후에도 rmagick을 설치하려고 할 때이 메시지가 계속 나타납니다. Using 6.9.8 Q16 from /usr/local/Cellar/imagemagick@6/6.9.8-3. checking for outdated ImageMagick version (<= 6.4.9)... yes checking for Ruby version >= 1.8.5... yes checking for stdint.h... no checking for sys/types.h... no checking for wand/MagickWand.h... no Can't install RMagick 2.15.0. Can't find MagickWand.h.
Will Hitchcock

32

macOs 시에라 :

brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

1
-1 이유없이 링크를 강요하거나 왜 이것이 나쁜 아이디어인지 설명하지 않기 때문입니다. MacPorts가 아니라 Homebrew의 의미에서 "적절하게"수행 한 것에 대한 내 대답을 참조하십시오.
mmlac

21

우선 최신 mac high sierra에 제대로 설치되지 않은 설치된 imagemagick의 연결을 해제하십시오.

brew unlink imagemagick

그런 다음 아래 명령을 사용하여 최신 imagemagic6을 설치하십시오.

brew install imagemagick@6 && brew link imagemagick@6 --force

그런 다음 아래 명령을 사용하여 gem rmagick을 설치하십시오.

gem install rmagick 

완벽하게 작동합니다.


16

이 문제는 내 문제를 해결합니다.

맥 OS X 시에라 :

brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

14

많은 것들이이 경로 같은 ImageMagick를 7 변경되었습니다 include/.../wand , 그리고 wand/MagickWand.h순간에 rmagic 보석에 내장 돼있다. 제 경우에는 프로젝트가 오래되어 보석을 업데이트 할 수 없었습니다. 그래서 나는 이전 버전의 ImageMagic을 설치하게되었습니다.

6.xx에서 최신 버전을 설치할 수 있습니다.

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb

나중에 사용하기 위해 고정 할 수도 있습니다. brew pin imagemagick


1
나를 위해 일했습니다 : Mac OS 10.12.X. ImageMagick 7을 먼저 설치했고 rails gem rmagick을 설치하는 데 문제가있었습니다.
Simon Franzen

11

ImageMagick 7.0.4-4 에서 변경되었습니다 . wand/MagickWand.h더 이상 찾을 수 없습니다 :

% brew unlink imagemagick && brew link imagemagick
Unlinking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks removed
Linking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks created
% gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    /Users/holger/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20170116-21103-1aikaka.rb extconf.rb
checking for clang... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h.

나는 여전히 내 시스템에 ImageMagick 6.9.7-3을 가지고 있었고

% brew switch imagemagick 6.9.7-3
Cleaning /usr/local/Cellar/imagemagick/6.9.6-6
Cleaning /usr/local/Cellar/imagemagick/6.9.7-0
Cleaning /usr/local/Cellar/imagemagick/6.9.7-1
Cleaning /usr/local/Cellar/imagemagick/6.9.7-3
Cleaning /usr/local/Cellar/imagemagick/7.0.4-4
75 links created for /usr/local/Cellar/imagemagick/6.9.7-3

나중에 rmagick문제없이 설치할 수 있습니다 .

% gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.16.0
1 gem installed

해결책을 찾으실 수 있습니까? 당신과 같은 문제가 발생했습니다.
Kemal Akkoyun

내가 말했듯이. imagemagick 6.9로 다시 전환하면 문제가 해결됩니다.
Holger Frohloff

1
고맙습니다, 당신의 제안에 따라 그것을 얻었고 고쳤습니다. 그러나 최신 ImageMagick 버전을 사용하여 문제를 해결했는지 묻고 자 한 것은 무엇입니까? 그런 다음 관련 문제 github.com/rmagick/rmagick/issues/256 을 발견했습니다.이 문제 는 ImageMagick을 다운 그레이드하도록 제안합니다. 다시 한 번 감사드립니다.
Kemal Akkoyun

천만에요 아직 버전 7.x를 사용하여 문제를 해결하지 못했습니다. 다소 빠른 해결책이있을 것 같습니다. 우리는 볼 수 있습니다. :)
Holger Frohloff

6

RMagick은 오래된 버전의 imagemagick, 버전 6에 의존합니다. (아래 참조) Homebrew는이 패키지를 다음과 함께 설치할 수있는 통 전용 패키지로 제공합니다.

brew install imagemagick@6

빌드 출력에는 주의 사항 섹션 이 포함됩니다 ( brew info imagemagick@6출력을 지운 경우 에도 사용 가능 ).

==> Caveats
imagemagick@6 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have imagemagick@6 first in your PATH run:
  echo 'export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"' >> ~/.zshrc

For compilers to find imagemagick@6 you may need to set:
  export LDFLAGS="-L/usr/local/opt/imagemagick@6/lib"
  export CPPFLAGS="-I/usr/local/opt/imagemagick@6/include"

For pkg-config to find imagemagick@6 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig"

오히려 강제 연결, 다른 소프트웨어와 원인이 문제에 대한 가능성이보다 않습니다 ImageMagick과의 새로운 버전을 지원, 당신은 제안 사용할 수 있습니다 export그것을 빌드하는 동안 RMagick 보석이 이전 버전을 선택할 수 있도록들 :

export LDFLAGS="-L/usr/local/opt/imagemagick@6/lib"
export CPPFLAGS="-I/usr/local/opt/imagemagick@6/include"
export PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig"
gem install rmagick

  1. 이동 도움 업그레이드 노력에 기여 루비와 C를 알고 있다면!

5
$ brew remove imagemagick && brew install imagemagick

$ brew uninstall pkg-config && brew install pkg-config
$ brew unlink pkg-config && brew link pkg-config

$ gem install rmagick

팁과 제안에 감사드립니다, 불행히도 그것은 도움이되지 않았습니다 :-(
0x4a6f4672

1
이 답변은 언급 한 유일한 답변이되었습니다 pkg-config.
Jason Kim

pkg-config는 성공의 열쇠입니다. 정말 고맙습니다.
Michael Johann

5

나는 이것을 다른 대답을 향상시키는 의견으로 남겨 두는 평판을 아직 얻지 못했지만 @ Evgeniy28의 대답은 pkg-config를 설치 한 후에 만 ​​Sierra에서 효과가있었습니다 .pkg-config는 기본적으로 새로운 Sierra 컴퓨터에 설치되지 않습니다.

그래서:

brew install pkg-config
brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

성공:

$ gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.16.0
Parsing documentation for rmagick-2.16.0
Installing ri documentation for rmagick-2.16.0
Done installing documentation for rmagick after 4 seconds
1 gem installed

나를 위해 일했습니다. Sierra 10.12.6
Ivan

5

아래에 따라 필요에 따라 일부를 변경하십시오.

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force
export PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.9-24/lib/pkgconfig
gem install rmagick -v '2.15.4'

4

버전 7이 호환되지 않으므로 imagemagick 버전 6을 설치하십시오.

$ brew install imagemagick@6

--force에게 이전 버전의 연결 이 경로에 바이너리를 변경하고 좋은 때문에 brew doctor불평 할 것이다.

gem의 기본 확장을 빌드 할 때 설치된 버전 6의 헤더 및 라이브러리를 참조하십시오.

$ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.10-14/lib/pkgconfig/ gem install rmagick -v '2.16.0'

참고 : pkgconfig 가이를 담당하기 때문에 lib 및 include 폴더를 표시하지 않고 나를 위해 일했습니다.

참고 : 6.9.10-14는 imagemagick @ 6의 최신 버전이지만 다른 버전을 사용해야하는 경우 자유롭게 변경할 수 있습니다.


3

다음은 Homebrew를 사용 하여 macOS High Sierra 10.13.3 에서 (많은 시도와 실패 후) 해결 한 방법입니다 .

  1. RMagick 2.16.0은 최신 버전의 ImageMagick (버전 7)과 호환되지 않는 것 같습니다 : http://wordsandmagic.com/2017/09/01/RMagick-2-16-0-Error-MagickWand
  2. imagemagick을 제거했습니다. brew uninstall imagemagick
  3. 그런 다음이 공식으로 Imagemagick를 설치했습니다 : https://gist.github.com/JagdeepSingh/4b03cbeab16cc0bc729bbc6d275402d3
  4. gem install rmagick

이전 버전의 Imagemagick을 이미 설치 한 경우 다음과 같이 작동합니다. https://stackoverflow.com/a/41674363


2

버전 7.0.7-1에서는 심볼릭 링크를 만들 수 있지만 나중에 컴파일에 실패합니다.

cd /usr/local/Cellar/imagemagick/7.0.7-1/include/ImageMagick-7
ln -s MagickWand/ wand
ln -s MagicCore/ magick

2

BREW 설치 스크립트의 지침에 따라 아무것도 연결하거나 연결을 해제 할 필요가 없습니다.

brew install imagemagick@6
LDFLAGS="-L/usr/local/opt/imagemagick@6/lib" CPPFLAGS="-I/usr/local/opt/imagemagick@6/include" PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig" gem install rmagick

1

알파인 3.9 이미지 빌드에 대해 동일한 오류가 발생했습니다. ImageMagick 7.0.8.38-r0 과 함께 제공됩니다.

ImageMagick 6.9.6.8-r1 과 함께 alpine 3.5를 사용하도록 수정하십시오 .

FROM alpine:3.5

또는 3.5 용 패키지 저장소와 함께 ImageMagick 6.9.6.8-r1을 설치하십시오.

RUN apk add imagemagick-dev=6.9.6.8-r1 --repository http://dl-3.alpinelinux.org/alpine/v3.5/main/

ImageMagick 7.0.x의 빌드 실패와 관련하여 rmagick 저장소에 공개 된 문제가 있습니다. 희망적으로 곧 해결 될 것입니다.


0

내 시스템에서 심각한 문제가 발생하여 완전히 f * d되었습니다. 그러나 설치 후 Ruby 1.8.7 용 RMagick을 다시 설치할 수있었습니다.

RVM을 사용하여 새 Ruby 버전을 rvm install 1.8.7설치하면 새 GCC 컴파일러도 설치되었습니다. 이전 GCC 버전 4.6을 제거하고 GCC 버전 4.9를 설치했습니다. pkg-config에도 불구하고 GCC가 올바른 헤더를 찾지 못했습니다.


0

CentOS의 ImageMagick 설치에서 설치 프로세스를 완전히 설명합니다 .

어쨌든 ...
설치 후 다음과 같이 Imagick & ImageMagick-devel & ImageMagick PHP 라이브러리를 설치하십시오.

# yum install ImageMagick
# yum install ImageMagick-devel
# pecl install Imagick

/ usr / include로 이동

cd /usr/include

중요 : ImageMagick에서 "MagickWand.h"를 찾으려면 ImageMagick 폴더를 "/ usr / include"에서 "/ usr / local / include"로 복사하십시오.

imagick-3.4.3 (ImageMagick-7) 및 centos 6.5 및 php56 에서이 변경 사항을 테스트했으며 완벽하게 작동합니다 ...

이미 "ImageMagick"을 여러 번 설치 한 경우 먼저 해당 폴더를 모두 제거하고 "ImageMagick"및 "imagick"폴더를 찾아서 정리 한 다음이 변경으로 설치 프로세스를 계속하십시오.

다음 명령을 사용하여 파일 또는 폴더를 찾으십시오.

find / -name 'ImageMagick*'
find / -name 'imagick*'


아래 줄을 잊지 말고 설치 를 계속하십시오 : "php.ini"로 이동하여 "disable_functions"를 찾은 다음 "proc_open, popen, proc_close"를 청소하여 imagick이 이러한 기능을 필요로하도록 설정하십시오. 설치가 완료되면이 기능을 " "php.ini"파일의 disable_functions "

# phpize
# ./configure --with-php-config=/usr/local/php56/bin/php-config 
...

행운을 빕니다...


0

Homebrew를 사용하지 않는 Ubuntu 버전> 12의 경우

wget http://www.imagemagick.org/download/<required_imagemagick_version>
tar -xvf <path_to_your_downloaded_file>.tar.gz

wget 링크에서 'tar.gz'파일 대신 '7z'파일을 얻는 경우

7z x <path_to_your_downloaded_file>.7z
cd <path_to_your_downloaded_file>/
make
./configure
sudo make install
sudo ldconfig /usr/local/lib

그런 다음 RMagick 용 번 들러를 재개 할 수 있습니다.


-1

먼저 아래 그림과 같이 6.x가 설치된 경우 imagemagick을 제거 할 필요가 없습니다. 현재 "메인"이 7.0.7-8있지만 6.9.1-10여전히 존재 하는 것을 볼 수 있습니다 .

$ brew info imagemagick                                                            
imagemagick: stable 7.0.7-8 (bottled), HEAD
Tools and libraries to manipulate images in many formats
https://www.imagemagick.org/
/usr/local/Cellar/imagemagick/6.9.1-10 (1,450 files, 17.5MB)
  Poured from bottle on 2015-07-26 at 09:10:58
/usr/local/Cellar/imagemagick/7.0.6-9 (1,522 files, 22.8MB)
  Poured from bottle on 2017-08-21 at 14:44:16
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula

이전 6.x 버전이없는 경우 imagemagick @ 6 설치하십시오.

둘째, linkimagemagick , 특히 6을 강제로 연결 하지 마십시오. 편집 : 참조 ¹
--with-opt- * 플래그 외에 PKG_CONFIG_PATH를 설정해야합니다.

이것은 Ruby 1.9.3-p551에서 위에서 언급 한 추출 설정으로 High Sierra에서 작동합니다.

PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.9.1-10/lib/pkgconfig  \
  gem install rmagick -v '2.16.0' -- \
  --with-opt-lib=/usr/local/Cellar/imagemagick/6.9.1-10/lib/ \
  --with-opt-include=/usr/local/Cellar/imagemagick/6.9.1-10/include/ImageMagick-6/

ri 문서 작성에 실패하지만 결과는 중요하지 않습니다.

¹ : RMagick이 검색하는 dylib 경로가 잘못되었습니다. 이 문제를 해결 하려면 문제 # 278 을 제기했습니다 . 그렇지 않으면 libMagickWand 등의 수동 심볼릭 링크가 필요합니다. 그래도 특정 라이브러리를 수동으로 연결하는 것이 더 안전 할 수 있습니다 brew link --force.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.