我在Ubuntu 20.04上遇到了这个问题,解决方法是通过linuxbrew安装ImageMagick:
brew install imagemagick@6 && brew link imagemagick@6 --force
然后按照brew文档操作即可:
要在PATH中优先使用imagemagick@6,请运行:
echo 'export PATH="/home/linuxbrew/.linuxbrew/opt/imagemagick@6/bin:$PATH"' >> /home/visiond/.bash_profile
为了让编译器找到ImageMagick@6,请执行以下操作:
export LDFLAGS="-L/home/linuxbrew/.linuxbrew/opt/imagemagick@6/lib"
export CPPFLAGS="-I/home/linuxbrew/.linuxbrew/opt/imagemagick@6/include"
如果要让pkg-config找到imagemagick@6,请运行以下命令:
export PKG_CONFIG_PATH="/home/linuxbrew/.linuxbrew/opt/imagemagick@6/lib/pkgconfig"
然后尝试重新安装 rmagick
gem install rmagick -v '2.16.0'
如果它抱怨缺少 pkg-config,请运行
brew reinstall pkg-config
现在再次尝试安装 rmagick,一切应该正常。
如果您正在使用 WSL,它仍然可能失败,请更改
gem'rmagick','~> 2.16.0'
改为
gem'rmagick','~> 2.15','>= 2.15.4',:platforms => :ruby
这样完全解决问题。
更新
有时,brew 选项会给出奇怪的错误,例如
Rmagick was configured with <some-imagemagick-version> but <other-imagemagick-version> is in use
这通常是与 linuxbrew 相关的问题,我用以下方法解决了它
回滚上面解释的所有内容 ^^
brew uninstall imagemagick@6
brew uninstall pkg-config
然后从您的bashrc
中删除所有这些行。
export PATH="/home/linuxbrew/.linuxbrew/opt/imagemagick@6/bin:$PATH"
export LDFLAGS="-L/home/linuxbrew/.linuxbrew/opt/imagemagick@6/lib"
export CPPFLAGS="-I/home/linuxbrew/.linuxbrew/opt/imagemagick@6/include"
export PKG_CONFIG_PATH="/home/linuxbrew/.linuxbrew/opt/imagemagick@6/lib/pkgconfig"
刷新您的终端以获取最新更改。
source ~/.bashrc
确保没有安装任何imagemagick,请运行以下命令:
convert -version
如果您看到类似以下内容:
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib
这意味着您的系统中仍然存在ImageMagick,可能是由于以下原因:
- 您从源代码安装了ImageMagick
- 您通过apt安装了ImageMagick
如果是1
通过进入运行make install
的文件夹并运行make uninstall
来删除ImageMagick,这将完全删除该软件包,然后再次尝试convert -version
如果是2
检查软件包的版本,如果您正在尝试安装rmagick < v3,则需要ImageMagick 6,否则任何ImageMagick都可以。
假设您有一个新版本的ImageMagick(即7),而您需要较旧版本的rmagick,则只需执行以下操作:
sudo apt remove --purge imagemagick
现在我们的系统已经清理干净,我们可以重新安装ImageMagick
sudo apt-get install imagemagick-6.q16
尝试再次安装rmagick
gem install rmagick -v '2.16.0'
如果它抱怨MagickCore,那么意味着你需要安装libmagickwand-dev
,操作如下:
sudo apt-get install libmagickwand-dev
现在再试一次,一切应该正常工作 :)
apt-get -y install libmagick9-dev
的解决方案,但遗憾的是,该解决方案在 Mac OSx 上无法使用。是否有其他替代方案? - blawzoo