Homebrew에서 특정 버전 설치 (RMagick 해결)

TL;DR



Homebrew에서 쉽게 과거 버전의 패키지를 도입하여 RMagick을 설치할 수 있게 된다
brew install --build-from-source https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb

발생한 문제



RMagick gem을 설치하려고했지만 오류가 발생하지 않습니다.
  • Homebrew에 설치된 ImageMagick은 최신 7
  • ImageMagick7에서 큰 변화가 있었고 RMagick이 지원되지 않습니다.
    ( htps : // 기주 b. 코 m / r 메기 ck / r 메기 ck / 이스에 s / 256 )
  • $ gem install rmagick
    Building native extensions.  This could take a while...
    ERROR:  Error installing rmagick:
        ERROR: Failed to build gem native extension.
    
        current directory: /Users/chanibarin/.anyenv/envs/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rmagick-2.16.0/ext/RMagick
    /Users/chanibarin/.anyenv/envs/rbenv/versions/2.3.1/bin/ruby -r ./siteconf20170815-15540-14avoah.rb extconf.rb
    checking for clang... yes
    checking for Magick-config... no
    checking for pkg-config... yes
    Package MagickCore was not found in the pkg-config search path.
    Perhaps you should add the directory containing `MagickCore.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'MagickCore' found
    checking for outdated ImageMagick version (<= 6.4.9)... *** 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=/Users/chanibarin/.anyenv/envs/rbenv/versions/2.3.1/bin/$(RUBY_BASE_NAME)
    
    To see why this extension failed to compile, please check the mkmf.log which can be found here:
    
      /Users/chanibarin/.anyenv/envs/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/rmagick-2.16.0/mkmf.log
    
    extconf failed, exit code 1
    

    해결 방법



    ImageMagick6을 설치해야합니다.

    절차


  • 이미 포함 된 ImageMagick 제거
  • 이전 버전의 ImageMagick 설치

  • 짜증나지만 이 순서로 진행합니다.
    (ImageMagick이 설치되지 않은 분은 1을 날려 OK)

    1. 이미 포함된 ImageMagick 제거



    아래 명령을 두드려주세요.
    $ brew unlink imagemagick
    $ brew remove imagemagick
    

    2. 이전 버전의 ImageMagick 설치


  • 설치할 버전의 해시 찾기
    Homebrew의 저장소에서 히스토리를 거슬러 올라갑니다.
    htps : // 기주 b. 코 m / 칭찬 브레 w / 칭찬 브레 w - 이것 / 쓰레기 ts / 마s 테 r / 후 r 뮤 / まめまぎ ck. rb

    해당 기록을 찾으면 커밋 해시 메모

  • 메모 된 해시를 사용하여 패키지를 식별하고 설치합니다.
    htps : // 등 w. Giteubuse r 콘텐트 t. 코 m / 칭찬 브레 w / 칭찬 브레 w - 이것 / 6f014f2b7f1f9 618fd5c0 꺾어 9c93 베후아 671f8 베 / 푹 뭉툭 / 펭귄 ck. rb
  • $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
    $ convert --version
    Version: ImageMagick 6.9.7-3 Q16 x86_64 2017-01-07 http://www.imagemagick.org
    

    3. 이전 버전의 ImageMagick 설치(--force 사용)


    --force를 사용하는 방법도 있습니다.
    $ brew install imagemagick@6
    $ brew link --force imagemagick@6
    

    Rmagick 설치 확인



    상기 순서로 ImageMagick6를 도입 할 수 있으면 나머지는 넣을 뿐!
    $ gem install rmagick
    Fetching: rmagick-2.16.0.gem (100%)
    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 5 seconds
    1 gem installed
    



    문제 해결: ImageMagick에서 오류가 발생하는 경우



    예를 들어 이런 오류
    Magick::ImageMagickError: unable to load module `/usr/local/Cellar/imagemagick/6.9.7-3/lib/ImageMagick//modules-Q16/coders/png.la': file not found @ error/module.c/OpenModule/1302
    
    --build-from-source를 사용하여 설치
    $ brew install --build-from-source https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
    

    좋은 웹페이지 즐겨찾기