Atualizar o RMagick e o Imagemagick é uma experiência dolorosa. Atualizei a versão Imagemagick no meu mac (MacOS El Capitan versão 10.11.5) com homebrew para um projeto no Ruby 2.3 para6.9.5-9
$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09
Agora, um projeto mais antigo no Ruby 1.8.7 se recusa a trabalhar com a mensagem de erro "esta instalação do RMagick foi configurada com o ImageMagick 6.8.9, mas o ImageMagick 6.9.5-9 está em uso". Desinstalei o "rmagick", mas ele não pode ser instalado novamente
$ 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.
E se não puder ser instalado, o aplicativo inteiro não poderá ser iniciado. Tentei todas as respostas a partir daqui e nenhuma delas funciona no MacOS :-( Reinstalei o imagemagick e o pkg-config com homebrew e tentei várias versões do RMagick sem êxito. 2.16.0 é a versão mais recente do RMagick atualmente.
O MagicWand parece ser usado na versão ImageMagick> 6.9, e pode ser encontrado na máquina:
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
Ele não funciona, mesmo que eu especifique esses caminhos durante a instalação da gem (mesmo erro acima) :-(
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
ATUALIZAR:
O erro ocorre apenas no Ruby 1.8.7, é possível instalar o RMagick for Ruby 2.0 e Ruby 2.3. O Ruby 1.8.7 e o ImageMagick 6.9.5 não parecem ser compatíveis.
- Ruby 1.8.7 x
- Ruby 2.0.0 ✓
- Ruby 2.3.1 ✓
fonte
Respostas:
Para resolver o problema no Mac OSX Sierra, High Sierra, El Capitan, Mojave e Catalina , você pode fazer o seguinte:
imagemagick@6
ékeg-only
, então você precisará forçar a vinculação.fonte
brew unlink imagemagick
antes do link - mas funcionou. Muito obrigado.Eu tive esse mesmo problema com o ImageMagick 7.0.4-4 . A correção correta é instalar
imagemagick@6
. Achei https://github.com/Homebrew/homebrew-core/pull/8756 útil se você excluiu acidentalmente o seuimagemagick@6
ou nunca o instalou em primeiro lugar.fonte
brew install imagemagick@6 && brew link imagemagick@6 --force
resolvido para mimbrew 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.
macOs Sierra:
fonte
Antes de tudo, desvincule o imagemagick instalado que não foi instalado corretamente no mac high sierra mais recente usando.
em seguida, instale o imagemagic6 mais recente usando o comando abaixo
Em seguida, instale gem rmagick usando o comando abaixo
Funcionará perfeitamente bem.
fonte
Sim, este resolve meu problema:
MacOS X Sierra:
fonte
Muitas coisas mudaram no ImageMagick 7 como este caminho :,
include/.../wand
ewand/MagickWand.h
estão conectadas com a gema rmagic no momento. No meu caso, não foi possível atualizar a gema, pois o projeto é bastante antigo. Então acabei instalando uma versão mais antiga do ImageMagic.Você pode instalar a versão mais recente do 6.xx:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb
Você também pode fixá-lo para uso posterior:
brew pin imagemagick
fonte
Algo mudou com o ImageMagick 7.0.4-4 para mim.
wand/MagickWand.h
não foi mais possível encontrar:Eu ainda tinha o ImageMagick 6.9.7-3 no meu sistema e mudei de volta com
Posteriormente eu poderia instalar
rmagick
sem problemas:fonte
O RMagick depende de uma versão desatualizada do imagemagick, versão 6. (veja abaixo) O Homebrew oferece isso como um pacote somente barril, com o qual você pode instalar:
A saída da compilação incluirá uma seção Advertências (também disponível em
brew info imagemagick@6
se você limpou a saída):Ao invés da força de ligação, que tem o potencial de causar problemas com outro software que não suporta as versões mais recentes do imagemagick, você pode usar o sugerido
export
s para fazer a jóia RMagick pegar a versão antiga enquanto ele constrói:fonte
fonte
pkg-config
e funcionou.Ainda não tenho reputação de deixar isso como comentário, melhorando outra resposta, mas a resposta de @ Evgeniy28 funcionou para mim no Sierra somente depois de instalar o pkg-config, que não é instalado por padrão em uma nova máquina Sierra.
Assim:
Sucesso:
fonte
Siga abaixo e altere algumas partes de acordo com sua necessidade.
fonte
Instale o imagemagick versão 6 porque a versão 7 não é compatível:
$ brew install imagemagick@6
Não deve vincular - force a versão mais antiga, pois isso mudará os binários em seu caminho e o bem
brew doctor
reclamará.Faça referência aos cabeçalhos e bibliotecas da versão 6 que foram instalados ao construir a extensão nativa da gem:
$ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.10-14/lib/pkgconfig/ gem install rmagick -v '2.16.0'
Nota: Trabalhou para mim sem indicar a pasta lib e include porque o pkgconfig é responsável por isso.
Nota: 6.9.10-14 é a versão mais recente do imagemagick @ 6, mas fique à vontade para alterá-lo se precisar usar uma versão diferente.
fonte
Aqui está como eu resolvi (depois de muitas tentativas e falhas) no macOS High Sierra 10.13.3 com o Homebrew:
brew uninstall imagemagick
gem install rmagick
Se você já instalou uma versão antiga do Imagemagick, isso deve funcionar: https://stackoverflow.com/a/41674363
fonte
na versão 7.0.7-1, você pode criar um link simbólico, mas a compilação falhará posteriormente.
fonte
Não há necessidade de vincular ou desvincular nada, seguir as instruções do script de instalação do brew ajuda:
fonte
Obteve o mesmo erro para a construção de imagem alpina 3.9. Ele vem com o ImageMagick 7.0.8.38-r0
Para corrigir isso, use Alpine 3.5 com o ImageMagick 6.9.6.8-r1 :
Ou instale o ImageMagick 6.9.6.8-r1 com o repositório de pacotes para 3.5:
Há um problema em aberto no rmagick repo referente às compilações com falha do ImageMagick 7.0.x. espero que seja corrigido em breve.
fonte
Algo estava gravemente errado no meu sistema, tão ruim que estava completamente danificado, mas finalmente consegui instalar o RMagick for Ruby 1.8.7 novamente após a instalação
A instalação de uma nova versão do Ruby com o RVM
rvm install 1.8.7
também instalou um novo compilador GCC: ele removeu uma versão 4.6 do GCC mais antiga e instalou a versão 4.9 do GCC. Aparentemente, o GCC não conseguiu encontrar os cabeçalhos corretos, apesar do pkg-config.fonte
Explico completamente o processo de instalação no ImageMagick install in centos .
de qualquer maneira ...
após a instalação Instale a biblioteca PHP Imagick & ImageMagick-devel & ImageMagick, como abaixo:
vá para / usr / include
Importante: copie a pasta ImageMagick de "/ usr / include" para "/ usr / local / include" para o ImageMagick, localize "MagickWand.h"
Eu testei essa alteração no imagick-3.4.3 (ImageMagick-7) e centos 6.5 e php56 e funciona perfeitamente ...
Se você já instalou o "ImageMagick" várias vezes, primeiro remova todos eles e localize as pastas "ImageMagick" e "imagick", limpe-os e continue o processo de instalação com essa alteração.
Use o seguinte comando para encontrar um arquivo ou pasta:
e continue sua instalação
antes das linhas abaixo, não se esqueça: vá para "php.ini" encontre "disable_functions" e limpe "proc_open, popen, proc_close" porque o imagick precisa dessas funções, após a instalação completa, você pode adicionar essas funções ao seu " disable_functions "no arquivo" php.ini ".
Boa sorte...
fonte
Para a versão Ubuntu> 12 e não usando homebrew,
Se você estiver recebendo arquivos '7z' em vez de arquivos 'tar.gz' no link wget,
Em seguida, você pode retomar seu empacotador para o RMagick.
fonte
Primeiro, você não precisa desinstalar o imagemagick se o 6.x estiver instalado, como mostrado abaixo. Você pode ver que o atual "principal" está,
7.0.7-8
mas6.9.1-10
ainda está lá.Se você não tem uma versão antiga 6.x, em seguida, instalar imagemagick @ 6.
Segundo, não force o link imagemagick, especialmente o 6. EDIT: Consulte ¹
Você precisa definir PKG_CONFIG_PATH além dos sinalizadores --with-opt- *.
Isso funciona para mim no High Sierra com a configuração de fermentação mencionada no Ruby 1.9.3-p551:
A construção de documentos falhados falha, mas eles são irrelevantes.
Nota: A construção funciona, o caminho do dylib que o RMagick está pesquisando está errado. Levantou a edição nº 278 para esclarecer se isso pode ser corrigido. Caso contrário, é necessário o symlinking manual do libMagickWand etc. Ainda pode ser mais seguro vincular manualmente as bibliotecas específicas do que um
brew link --force
pensamento.fonte