2013-03-25 35 views
10

Tôi hiểu rằng câu hỏi này đã được hỏi trước đó rất nhiều, nhưng không có giải pháp nào phù hợp với tôi và tôi thực sự tuyệt vọng ngay bây giờ.Ruby gem rmagick sẽ không cài đặt trên Mac OS X

Tôi đang cố gắng cài đặt bằng cách sử dụng gem để cài đặt cộng đồng. Tôi đã được cài đặt imagick qua homebrew và khi cố gắng chạy gem install rmagick tôi nhận được lỗi này:

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

     /Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes 
checking for gcc-4.2... yes 
checking for Magick-config... no 
Can't install RMagick 2.13.2. Can't find Magick-config in /Users/tobischweiger/.rvm/gems/[email protected]/bin:/Users/tobischweiger/.rvm/gems/[email protected]/bin:/Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin:/Users/tobischweiger/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin 

*** 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/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby 


Gem files will remain installed in /Users/tobischweiger/.rvm/gems/[email protected]/gems/rmagick-2.13.2 for inspection. 
Results logged to /Users/tobischweiger/.rvm/gems/[email protected]/gems/rmagick-2.13.2/ext/RMagick/gem_make.out 

Tôi không phải là rất có kinh nghiệm với đá quý và homebrew và tôi tự hỏi nếu ai đó có thể giúp tôi ra ngoài.

+0

Xin bao gồm phiên bản OS X của bạn như có thể tạo sự khác biệt cho câu trả lời. Câu trả lời của tôi giả định sư tử núi (10,8). – depa

+0

Xin lỗi, vâng, tôi đang chạy 10.8.2. – knurb

Trả lời

20

Chạy ứng dụng này (sử dụng homebrew) trước khi thử cài đặt đá quý.

brew install imagemagick 
+0

Cảm ơn bạn vì câu trả lời đó. Như tôi đã nói trong bài viết gốc của mình, tôi đã thử làm điều đó. Kết quả là như nhau. Nếu nó giúp, tôi đã thử nó một lần nữa và đây là thông điệp từ việc cài đặt brew: ==> Tải xuống http://downloads.sf.net/project/machomebrew/mirror/ImageMagick-6 Đã tải xuống:/Library/Caches/Homebrew/imagemagick-6.7.7-6.tar.bz2 ==> Vá vá tập tin cấu hình Hunk # 1 đã thành công tại 32371 (bù lại 447 dòng). ==>./ configure --disable-osx-universal-binary - không có perl --prefix =/usr/loca ==> cài đặt Lỗi: Cài đặt trống – knurb

+0

Điều gì sẽ xảy ra khi bạn chạy bản cập nhật brew và sau đó pha chế bác sĩ? – depa

+0

Tôi có thể chạy các lệnh đó với bất kỳ sự cố nào, đã thử chạy rmagick không tô đá quý và nó vẫn cho tôi lỗi tương tự. – knurb

0

tôi thấy rằng việc cập nhật Xcode của tôi lên phiên bản mới nhất (4.6.1) trên OSX 1.8.2 cố định vấn đề này và tôi đã cài đặt thành công rmagick-2.13.2

+0

Đáng buồn thay, điều đó không giúp ích gì. – knurb

3

Tôi đã có một vấn đề tương tự và điều này đã làm việc cho tôi:

$ cd /usr/local/Cellar/imagemagick/6.8.0-10/lib 
$ ln -s libMagick++-Q16.7.dylib libMagick++.dylib 
$ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib 
$ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib 

Hy vọng điều này sẽ hữu ích.

Credit: https://coderwall.com/p/wnomjg

+0

Điều này không hiệu quả đối với tôi. – mpelzsherman

+0

Điều này làm việc cho tôi bởi vì tôi đã nhận được lỗi ngăn xếp khác nhau từ bài đăng này, chỉ kiểm tra InitializeMagick() là không thành công. –

4

Tôi đang sử dụng OS X Lion.

Tôi chạy brew doctor và thấy rằng imagemagick đã được hủy liên kết để nó bảo tôi chạy brew link imagemagick.

Sau đó, tôi đóng và mở lại thiết bị đầu cuối của mình và mọi thứ hoạt động rất may mắn.

+0

Tuyệt vời! Giải quyết vấn đề của tôi! Tôi có một mối quan hệ yêu-ghét với rmagick/imagemagick. Đó là một nỗi đau để cài đặt, nhưng rất tốt để sử dụng. – Automatico

2

Hãy chắc chắn rằng khi bạn làm điều này:

$ cd /usr/local/Cellar/imagemagick/6.8.0-10/lib 
$ ln -s libMagick++-Q16.7.dylib libMagick++.dylib 
$ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib 
$ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib 

bạn nên thay đổi tên tập tin để phản ánh phiên bản của bạn: bạn sẽ nhìn thấy tên tập tin bằng cách xem trong thư mục lib ở đây: cd/usr/local/Cellar/ImageMagick/VERSION/lib

ví dụ:

ln -s libMagickWand-6.Q16.1.dylib libMagickWand.dylib 

và vân vân

3

Trên Mavericks, bạn có thể làm điều đó:

brew install pkgconfig 
brew uninstall imagemagick 
brew install imagemagick 
brew link imagemagick 
bundle install 

Đủ rồi. Tôi nghĩ.

0

Đối với tôi, tôi phải nhìn vào sản lượng mà trong trường hợp của bạn là

/Users/tobischweiger/.rvm/gems/[email protected]/gems/rmagick-2.13.2/ext/RMagick 

Trong đó là một tập tin gọi là mkmf.log liệt kê chính xác những gì nó đang cố gắng để biên dịch và lỗi. Đối với tôi, mối liên kết đã thất bại với lệnh này:

ld: library not found for -lMagickCore 

Rà soát lệnh nó đã chạy nó trông tốt trừ phút cuối, thấy đoạn này:

-lMagickCore-6.Q16 -lMagickCore-6.Q16 -lruby-static -framework CoreFoundation -lMagickCore -lpthread -ldl -lobjc -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib/darwin/libclang_rt.osx.a 

Lưu ý rằng nó có đầu ra từ Magick-config và sử dụng chúng bằng cách thêm -lMagickCore-6.Q16 nhưng đã vẫn còn cố gắng liên kết -lMagickCore. Tôi nghĩ rằng đây là một sản phẩm phụ của máy lẻ have_library đang sử dụng. Quan trọng đối với tôi, là không có thư viện libMagickCore.dylib do Homebrew cung cấp. Nó có thể là một phiên bản cũ của rubygems và tôi nghĩ rằng sửa chữa chính xác sẽ được cập nhật các chức năng have_library nhưng tôi cố định nó bằng cách tạo một liên kết tượng trưng gọi là libMagickCore.dylib trỏ đến libMagickCore-6.Q16.dylib.

2

Có các trường hợp khác nhau mà chúng tôi cần kiểm tra trong khi cài đặt RMagick. Vui lòng kiểm tra theo dõi và xác nhận:

  1. Kiểm tra xem bạn chưa cài đặt phiên bản mới nhất của RMagick với phiên bản cũ hơn của ruby. tức là ruby ​​1.8.7 hoặc hơn. Bạn không thể cài đặt phiên bản mới nhất của RMagick với phiên bản cũ hơn của Ruby. Nếu có, bạn có thể sẽ nhận được thông báo lỗi này.

    Building native extensions. This could take a while... 
    ERROR: Error installing rmagick: 
    ERROR: Failed to build gem native extension. 
    
        /Users/user/.rbenv/versions/1.8.7-p375/bin/ruby extconf.rb 
    
  2. Đảm bảo bạn đã cài đặt imagemagick trước khi cài đặt RMagick.

    brew install imagemagick 
    
  3. Cũng đảm bảo bạn đang cài đặt RMagick với phiên bản tương thích của imagemagick. RMagick không tương thích với phiên bản mới nhất của imagemagick.

nhiều đến thế này: thay vì sử dụng RMagick bạn có thể sử dụng MiniMagick nếu bạn chỉ cần thay đổi kích thước, làm sắc nét, chuyển đổi hình ảnh hiện có. RMagick là cần thiết khi chúng ta cần phải tạo ra hình ảnh, đồ thị, bản vẽ và kiểu chữ. Việc làm việc với tài nguyên hệ thống dễ dàng hơn và nhẹ hơn RMagick. RMagick tiêu thụ lượng bộ nhớ khổng lồ.

Các vấn đề liên quan