尝试安装 rmagick gem 时出现如下所示的错误。我在 Snowleopard 10.6 上使用 RVM、Ruby 1.9.2-head 和 Rails 3.05。对类似问题的回答建议安装 ImageMagick,我成功地做到了。其他人建议安装“libmagick9-dev library”,但是,我不知道该怎么做。
我是一名新开发人员,非常感谢对现有解释或资源的任何帮助或指导。谢谢!
jjdevenuta(opal)$ gem install rmagick
Fetching: rmagick-2.13.1.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/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 2.13.1. Can't find Magick-config in /Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@rails3/bin:/Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@global/bin:/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin:/Users/jjdevenuta/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/X11/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/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin/ruby
更新 如果您是 Mac/OS X 用户,我强烈建议您使用 Homebrew 作为您的软件包安装程序/管理器。您可以找到它HERE。自从最初提出这个问题以来,我已经删除了我之前安装的所有东西,比如 rmagick 和 imagemagick,并使用 Homebrew 重新安装了它们。使用庞大的软件包目录超级容易,更新/卸载也很容易!
在构建原生 Ruby gem 时,有时您会收到包含“ruby extconf.rb”的错误。这通常是由于缺少您正在安装的 gem 的开发库,甚至是 Ruby 本身。
您的机器上安装了 apt
吗?如果没有,我建议安装它,因为它是获取大量开发库的快速简便的方法。
如果你看到有人建议安装“libmagick9-dev”,那是一个你可以安装的 apt 包:
$ sudo apt-get install libmagickwand-dev imagemagick
或在 centOs 上:
$ yum install ImageMagick-devel
在 Mac OS 上,您可以使用 Homebrew:
$ brew install imagemagick
新的正确方法是安装 libmagickwand-dev:
sudo apt-get install libmagickwand-dev
然后你应该可以安装 rmagick 没问题。
bundle install
而不是尝试执行 sudo gem install rmagick
imagemagick@6 为我工作!
brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force
请参阅this thread
Ubuntu 15.10
请注意,如果您尝试在 ubuntu 15.10 中安装此 gem,则可能会发生错误:
Can't install RMagick 2.13.1. Can't find Magick-config in ...
您所需要的只是预加载 PATH 变量以及 ImageMagick 库的附加路径。
PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH"
然后运行 gem install rmagick
更新 如果您是 Mac/OS X 用户,我强烈建议您使用 Homebrew 作为您的软件包安装程序/管理器。您可以找到它HERE。自从最初提出这个问题以来,我已经删除了我之前安装的所有东西,比如 rmagick 和 imagemagick,并使用 Homebrew 重新安装了它们。使用庞大的软件包目录超级容易,更新/卸载也很容易!
我终于通过使用 github 上的 ImageMagick 安装脚本让它工作了。
魔术安装程序 ( https://github.com/maddox/magick-installer )
它重新安装了 ImageMagick,然后通过 bundler 完美安装了 RMagick 2.12.2 gem。
感谢 Hulihan Applications 确认它很可能是缺少的库。我通过从 Fink Project 安装包下载器来尝试使用 apt-get 的建议。我在终端中运行了以下命令,但找不到 libmagick9-dev 库。
sudo apt-get install libmagick9-dev $ Password: $ Reading Package Lists... Done $ Building Dependency Tree... Done $ E: 找不到软件包 libmagick9-dev
我需要加强我的 UNIX 命令行技能。我从源代码安装的 ImageMagick 的原始副本仍在机器上,但我不知道确切的位置或如何删除它。这么多要学...!
事情发生了变化......也许这会帮助其他人:
sudo apt-get install libmagick9-dev
曾经工作过。但是对于更高版本的 imagemagick,我需要:
sudo apt-get install graphicsmagick-libmagick-dev-compat libmagickcore-dev libmagickwand-dev
libmagickcore-dev
和 libmagickwand-dev
即可。事实上,尝试安装 graphicsmagick-libmagick-dev-compat
会引发错误。
尝试
1) apt-get install libmagickwand-dev
2) gem install rmagick
对于那些不想执行从源代码构建方法的人(否则优秀的 installer script by John Maddox,在 CentOS 6.2 上安装时,以下内容对我有用。(根据需要调整您的包管理器)。
yum install -y {libwmf,lcms,ghostscript,ImageMagick}{,-devel}
gem install rmagick
同样,如果您使用发行版的包管理器并且真的希望保持理智,这主要是令人感兴趣的。
在某些操作系统中,您需要使用新库:libmagick++4 libmagick++-dev
您可以使用:
sudo apt-get install libmagick++4 libmagick++-dev
重要的:
sudo apt-get install libmagick++4 libmagick++-dev
更新后在 linux mint 13 上工作:
sudo apt-get update
无法安装 RMagick 2.13.2。在 Ubuntu 17.10 中
我的决定
- sudo apt-get purge imagemagick libmagickcore-dev libmagickwand-dev
- sudo apt-get autoremove
- sudo rm /usr/bin/Magick-config
- sudo apt-get install imagemagick libmagickwand-dev
需要版本才能正确指定配置的路径
cd /usr/lib/x86_64-linux-gnu 查看版本 ImageMagick,我的版本 ImageMagick - 6.9.7。 cd ImageMagick-6.9.7/ ls 查看目录名 bin-q16 或 bin-Q16
创建到配置的链接
sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-version/bin-directory/Magick-config /usr/bin/Magick-config
为我的版本 ImageMagick 创建
- sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.9.7/bin-q16/Magick-config /usr/bin/Magick-config
- bundle
在 Ubuntu 15.10 中
sudo apt-get install graphicsmagick-libmagick-dev-compat
为我做了伎俩
我必须指定版本 6
brew install imagemagick@6
brew link --overwrite --force imagemagick@6
如果您收到类似以下的错误:
The following packages have unmet dependencies:
libmagickwand-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
您可能想从这个包开始:sudo apt-get install libgvc5
更多详情:https://askubuntu.com/a/230958/6506
我在不同的机器上运行了两次这个问题,第一次是通过安装 libmagick9-dev 解决的
sudo apt-get install libmagick9-dev
第二次我必须安装以下库。
sudo apt-get install libmagick++4 libmagick++-dev
在 Mac OS X 上,sudo port install ImageMagick
可以很好地解决 gem install rmagick
问题。我只是不知道它工作正常,因为 rvm 在安装过程中吹走了我的 .bash_profile 内容,其中包括 MacPort 在 PATH 中添加的 /opt/local/bin
。我将 /opt/local/bin 放回 .bash_profile 中的 PATH 中,然后我的 gem install rmagick
成功了。
当我已经使用 macports 安装 ImageMagick 时,我遇到了这个问题。我跑了
port contents ImageMagick | grep config
查找配置文件的存储位置然后运行
PATH=(insert your path here):${PATH} bundle
使用捆绑器安装 gem。从现在开始,如果你运行一个需要引用 ImageMagick 的命令,你可以在它前面加上那个命令。例如,我有一个引用它的迁移,所以我跑了
PATH=/opt/local/bin/:${PATH} rake db:migrate
opt/local/bin/ 是我的配置文件的存储路径。
我在 Ubuntu 上解决问题的方法是
$ sudo apt-get install libmagickwand-dev
$ sudo apt-get install ImageMagick
Ubuntu:
sudo apt-get install imagemagick libmagickwand-dev libmagickcore-dev
gem install rmagick
中央操作系统:
yum remove ImageMagick
gem uninstall rmagick
yum install ImageMagick ImageMagick-devel ImageMagick-last-libs ImageMagick-c++ ImageMagick-c++-devel
gem install rmagick
苹果系统:
下载并安装 http://xquartz.macosforge.org/trac/wiki/X112.7.2
后:
brew uninstall imagemagick
brew link xz jpeg freetype
brew install imagemagick
brew link --overwrite imagemagick
gem install rmagick
在终端执行这个
sudo apt-get install libmagickcore-dev libmagickwand-dev
如果它不起作用
sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/local/bin/Magick-config
在 Ubuntu 中安装 rmagick gem
sudo aptitude 安装 Imagemagick 和 GraphicsMagick(如果不是 aptitude 则在软件中心安装) sudo aptitude 安装 libmagickcore-dev libmagickwand-dev gem install rmagick -v 2.13.1
对于 CentOS 5/6,这对我有用
yum remove ImageMagick
yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel
mkdir /root/imagemagick
cd /root/imagemagick
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar xzvf ImageMagick.tar.gz
cd ImageMagick-*
./configure --prefix=/usr/ --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes
make
make install
对于 64 位,请执行此操作
cd /usr/lib64
ln -s ../lib/libMagickCore.so.3 libMagickCore.so.3
ln -s ../lib/libMagickWand.so.3 libMagickWand.so.3
添加缺少的依赖项
yum install ImageMagick-devel
然后终于 rmagick
gem install rmagick
如果您需要重新开始,请先删除其他安装
cd /root/imagemagick/ImageMagick-*
make uninstall
在 ubuntu 上,您还必须像这样安装 imagemagick
和 libmagickcore-dev
:
sudo apt-get install imagemagick libmagickcore-dev libmagickwand-dev
一切都写在 the doc 中。
经过大量挖掘,我使用此处的信息在 debian 8.3 上修复了此问题:https://www.bountysource.com/issues/18142073-can-t-install-gem-on-ubuntu-15-04 具体而言:
sudo apt-get purge graphicsmagick graphicsmagick-dbg imagemagick-common imagemagick imagemagick-6.q16 libmagickcore-6-headers libmagickwand-dev
sudo apt-get autoremove
sudo apt-get install imagemagick libmagickwand-dev
gem install rmagick
请记住在安装后检查存档 Gemfile.lock。删除此存档并再次执行 bundle。它在 linux 中对我有用:D
libmagickwand-dev
graphicsmagick-libmagick-dev-compat
<<<安装这个包对我有用。