Memperbarui RMagick dan Imagemagick adalah pengalaman yang menyakitkan. Saya telah memperbarui versi Imagemagick di mac saya (MacOS El Capitan Versi 10.11.5) dengan homebrew untuk satu proyek di Ruby 2.3 hingga6.9.5-9
$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09
Sekarang proyek lama di Ruby 1.8.7 menolak untuk bekerja dengan pesan kesalahan "instalasi RMagick ini dikonfigurasikan dengan ImageMagick 6.8.9 tetapi ImageMagick 6.9.5-9 sedang digunakan". Jadi saya uninstall "rmagick", tetapi tidak dapat diinstal lagi
$ 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.
Dan jika tidak dapat diinstal, seluruh aplikasi tidak dapat dimulai. Saya mencoba semua jawaban dari sini , dan tidak ada yang bekerja pada MacOS :-( Saya menginstal ulang imagemagick dan pkg-config dengan homebrew, dan mencoba berbagai versi RMagick tanpa hasil. 2.16.0 adalah versi terbaru dari RMagick saat ini.
MagicWand tampaknya digunakan dalam versi ImageMagick> 6.9, dan itu dapat ditemukan di mesin:
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
Itu tidak bekerja bahkan jika saya menentukan jalur ini selama instalasi permata (kesalahan yang sama seperti di atas) :-(
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
MEMPERBARUI:
Kesalahan hanya terjadi untuk Ruby 1.8.7, dimungkinkan untuk menginstal RMagick untuk Ruby 2.0 dan Ruby 2.3. Ruby 1.8.7 dan ImageMagick 6.9.5 tampaknya tidak kompatibel.
- Ruby 1.8.7 x
- Ruby 2.0.0 ✓
- Ruby 2.3.1 ✓
sumber
Jawaban:
Untuk mengatasi masalah di Mac OSX Sierra, High Sierra, El Capitan, Mojave, dan Catalina , Anda dapat melakukan hal berikut:
imagemagick@6
adalahkeg-only
, jadi Anda harus memaksa tautan.sumber
brew unlink imagemagick
sebelum tautan - tetapi berhasil. Terima kasih banyak.Saya memiliki masalah yang sama dengan ImageMagick 7.0.4-4 . Perbaikan yang tepat adalah menginstal
imagemagick@6
. Saya menemukan https://github.com/Homebrew/homebrew-core/pull/8756 berguna jika Anda secara tidak sengaja menghapusimagemagick@6
atau tidak pernah menginstalnya di tempat pertama.sumber
brew install imagemagick@6 && brew link imagemagick@6 --force
memecahkannya untukkubrew install --force imagemagick@6 && brew link imagemagick@6 --force
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.
Sierra Sierra:
sumber
Pertama-tama batalkan tautan imagemagick Anda yang terpasang yang tidak dipasang dengan benar di mac high sierra terbaru dengan menggunakan.
kemudian instal imagemagic6 terbaru menggunakan perintah di bawah ini
Kemudian instal gem rmagick menggunakan perintah di bawah ini
Ini akan bekerja dengan baik.
sumber
yah ini memecahkan masalah saya:
MacOS X Sierra:
sumber
Banyak hal telah berubah di ImageMagick 7 seperti jalur ini:,
include/.../wand
danwand/MagickWand.h
:, sudah tertanam dalam permata rmagic saat ini. Dalam kasus saya, tidak mungkin memperbarui permata karena proyeknya agak lama. Jadi saya akhirnya menginstal versi yang lebih lama dari ImageMagic.Anda dapat menginstal versi terbaru dari 6.xx:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
Anda juga dapat menyematkannya untuk usege nanti:
brew pin imagemagick
sumber
Sesuatu berubah dengan ImageMagick 7.0.4-4 untuk saya.
wand/MagickWand.h
tidak dapat ditemukan lagi:Saya masih memiliki ImageMagick 6.9.7-3 di sistem saya dan diganti dengan
Setelah itu saya dapat menginstal
rmagick
tanpa masalah:sumber
RMagick tergantung pada versi imagemagick yang sudah ketinggalan zaman, versi 6. (lihat di bawah) Homebrew menawarkan ini sebagai paket tong saja, yang dapat Anda instal dengan:
Output build akan mencakup a bagian Peringatan (juga tersedia dari
brew info imagemagick@6
jika Anda menghapus output):Daripada kekuatan-linking, yang memiliki potensi untuk menyebabkan masalah dengan perangkat lunak lain yang tidak mendukung versi yang lebih baru dari ImageMagick, Anda dapat menggunakan disarankan
export
s untuk membuat RMagick permata mengambil versi lama sementara itu membangun:sumber
sumber
pkg-config
dan berhasil.Saya belum memiliki reputasi untuk meninggalkan ini sebagai komentar yang meningkatkan jawaban lain, tetapi jawaban @ Evgeniy28 hanya berfungsi untuk saya di Sierra setelah menginstal pkg-config, yang tidak diinstal secara default pada mesin Sierra yang baru.
Begitu:
Keberhasilan:
sumber
Silakan ikuti di bawah ini dan ubah beberapa bagian sesuai dengan kebutuhan Anda.
sumber
Instal imagemagick versi 6 karena versi 7 tidak kompatibel:
$ brew install imagemagick@6
Seharusnya tidak menautkan - memaksa versi yang lebih lama karena ini akan mengubah biner di jalur Anda dan kebaikan
brew doctor
akan mengeluh.Referensi header dan pustaka dari versi 6 yang diinstal ketika membangun ekstensi asli permata:
$ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.10-14/lib/pkgconfig/ gem install rmagick -v '2.16.0'
Catatan: Bekerja untuk saya tanpa menunjukkan lib dan menyertakan folder karena pkgconfig bertanggung jawab untuk ini.
Catatan: 6.9.10-14 adalah versi terbaru dari imagemagick @ 6, tetapi jangan ragu untuk mengubahnya jika Anda perlu menggunakan versi yang berbeda
sumber
Inilah cara saya memecahkan (setelah banyak mencoba dan gagal) pada macOS High Sierra 10.13.3 dengan Homebrew:
brew uninstall imagemagick
gem install rmagick
Jika Anda sudah menginstal Imagemagick versi lama, ini seharusnya berfungsi: https://stackoverflow.com/a/41674363
sumber
di versi 7.0.7-1 Anda dapat membuat tautan simbolik, tetapi kompilasi akan gagal.
sumber
Tidak perlu menautkan atau memutuskan tautan apa pun, mengikuti petunjuk dari skrip instalasi buatan membantu:
sumber
Mendapat kesalahan yang sama untuk build gambar alpine 3.9. Muncul dengan ImageMagick 7.0.8.38-r0
Untuk memperbaikinya Anda menggunakan alpine 3.5 dengan ImageMagick 6.9.6.8-r1 :
Atau instal ImageMagick 6.9.6.8-r1 dengan repositori paket untuk 3.5:
Ada masalah terbuka di repo rmagick tentang gagal membangun untuk ImageMagick 7.0.x. jadi semoga segera diperbaiki.
sumber
Ada sesuatu yang sangat salah pada sistem saya, begitu parah sehingga benar-benar rusak, tetapi saya akhirnya dapat menginstal RMagick untuk Ruby 1.8.7 lagi setelah saya menginstal
Instalasi versi Ruby baru dengan RVM
rvm install 1.8.7
juga memasang kompiler GCC baru: menghapus versi GCC 4.6 yang lebih lama dan menginstal versi GCC 4.9. Tampaknya GCC tidak dapat menemukan tajuk yang tepat meskipun pkg-config.sumber
Saya sepenuhnya menjelaskan proses instalasi di ImageMagick instal dalam centos .
Lagi pula ...
setelah menginstal Instal Imagick & ImageMagick-devel & ImageMagick perpustakaan PHP seperti di bawah ini:
pergi ke / usr / include
Penting: salin folder ImageMagick dari "/ usr / include" ke "/ usr / local / include" untuk ImageMagick cari "MagickWand.h"
Saya menguji perubahan ini pada imagick-3.4.3 (ImageMagick-7) dan centos 6.5 dan php56 dan berfungsi dengan baik ...
Jika Anda telah menginstal "ImageMagick" beberapa kali, pertama-tama hapus semuanya dan cari folder "ImageMagick" & "imagick" dan bersihkan semuanya dan lanjutkan proses instalasi dengan perubahan ini.
Gunakan perintah berikut untuk menemukan file atau folder:
dan lanjutkan instalasi Anda
sebelum baris berikut jangan lupa: buka "php.ini" cari "disable_functions" dan bersihkan "proc_open, popen, proc_close" karena membuat imagick memerlukan fungsi-fungsi ini, setelah selesai menginstal Anda dapat menambahkan fungsi ini ke " disable_functions "on" php.ini "file.
Semoga berhasil...
sumber
Untuk versi Ubuntu> 12 dan tidak menggunakan homebrew,
Jika Anda mendapatkan file '7z' alih-alih file 'tar.gz' di tautan wget, maka
Kemudian Anda dapat melanjutkan bundler Anda untuk RMagick.
sumber
Pertama, Anda tidak perlu menghapus instalan imagemagick jika sudah terpasang 6.x, seperti yang ditunjukkan di bawah ini. Anda dapat melihat "main" saat ini
7.0.7-8
tetapi6.9.1-10
masih ada di sana.Jika Anda tidak memiliki versi 6.x lama, maka instal imagemagick @ 6.
Kedua, jangan paksa tautan imagemagick, terutama tidak 6. EDIT: Lihat ¹
Anda perlu mengatur PKG_CONFIG_PATH sebagai tambahan pada flag --with-opt- *.
Ini berfungsi untuk saya di High Sierra dengan pengaturan minuman yang disebutkan di Ruby 1.9.3-p551:
Membangun dokumen gagal, tetapi itu tidak penting.
¹: Bangunan berhasil, jalur dylib yang dicari RMagick salah. Mengangkat Masalah # 278 untuk mengklarifikasi apakah ini dapat diperbaiki. Jika tidak, symlinking manual libMagickWand dll diperlukan. Mungkin masih lebih aman untuk menautkan pustaka tertentu secara manual daripada yang lain
brew link --force
.sumber