2014-09-29 28 views
13

Tôi đang cố gắng triển khai một ứng dụng trên OpsWorks, nhưng có vấn đề với việc cài đặt gem rmagick. Tôi có các gói hệ điều hành sau:Cài đặt đá quý rmagick trên ubuntu 14.04

libmagickwand-dev ImageMagick libmagickcore-dev

Dưới đây là các tập tin đăng nhập với sai sót trong quá trình triển khai:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

/usr/local/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes 
checking for gcc... yes 
checking for Magick-config... no 
Can't install RMagick 0.0.0. Can't find Magick-config in /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games 

*** 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=/usr/local/bin/ruby 

extconf failed, exit code 1 

Gem files will remain installed in /home/deploy/.bundler/myapp/ruby/2.1.0/gems/rmagick-2.13.3 for inspection. 
Results logged to /home/deploy/.bundler/myapp/ruby/2.1.0/extensions/x86_64-linux/2.1.0/rmagick-2.13.3/gem_make.out 
An error occurred while installing rmagick (2.13.3), and Bundler cannot 
continue. 
Make sure that `gem install rmagick -v '2.13.3'` succeeds before bundling. 
STDERR: 
---- End output of sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 ---- 
Ran sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 returned 5 
[2014-09-29T18:24:08+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

Trả lời

26

Trong shell của bạn, chạy sau lệnh:

apt-get install libmagickwand-dev 
+0

Cụ thể hơn, hãy đảm bảo rằng lệnh được chạy trên máy mà bạn đang cố triển khai; không chỉ máy phát triển địa phương của bạn. Tôi đoán bạn cần thêm tài nguyên "gói" cho đầu bếp. –

3
sudo apt-get install libmagickwand5 libmagickwand-dev 
gem install rmagick -v 2.13.3 
8

Tôi đã gặp vấn đề tương tự sau khi nâng cấp ubuntu lên 15.05, một số cách tệp Magick-config không còn trong PATH của tôi nữa. Để sửa lỗi này lần đầu tiên tôi tìm thấy vị trí của Magick-config

sudo find/-name "Magick-config"

đó là /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config sau đó tôi đã thêm nó vào con đường. Bundle đã thành công sau đó.

+1

Tôi đã đấu tranh với cùng một vấn đề trên Ubuntu 15 tất cả các buổi sáng. Điều này cuối cùng đã làm việc, cảm ơn. – Josh

3

Cài đặt thư viện ImageMagick-dev

hệ thống Ubuntu: sudo apt-get install libmagickwand-dev hệ thống

RHEL: yum install ImageMagick-devel

Mac: brew install imagemagick

2

Trong Ubuntu 14.04 tôi cũng cần phải cài đặt các thư viện libgmp-dev để có được làm việc mới hơn rmagick 2.15.4 phiên bản:

sudo apt-get install libgmp-dev 

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

0

để sửa chữa nó vĩnh viễn chúng tôi chỉ có thể làm:

ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/bin/Magick-config 
0

Trước hết chúng ta cần phải tìm kiếm cấu hình

sudo find/-name "Magick-config" 

Bạn sẽ nhận ra một cái gì đó như thế này:

/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config 

Bây giờ bạn chỉ cần thiết lập vị trí thùng rác trong môi trường của mình bằng cách sử dụng:

PATH=$PATH:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/ 

Đừng quên loại bỏ cấu hình Magick từ cuối dòng.

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