在Ubuntu上安装rmagick


134

我正在尝试在Ubuntu 10.04上安装RMagick。看着这里,但没有喜悦。我什至从源代码编译并安装了ImageMagick,但是当我尝试使用RubyGems安装RMagick时,这里的说明仍然没有帮助。我收到此错误:

carcher@carcher-laptop:~/Code/temp/RMagick-2.13.1$ sudo gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
 ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
 from extconf.rb:1


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-2.13.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-2.13.1/ext/RMagick/gem_make.out
carcher@carcher-laptop:~/Code/temp/RMagick-2.13.1$ 

这是什么意思呢?:)我是Ruby和RubyGems的新手,所以请保持谦虚。我的设置如下:

Ruby: 1.8.7
RubyGems: 1.3.7

我几乎没有想法(也很累!)。我厌倦了使用上面的链接从源代码编译RMagick,但是由于没有./configure脚本:(

任何和所有帮助表示赞赏!


大多数这些答案是不是官方的文档不同,你应该安装imagemagicklibmagickcore-devlibmagickwand-devgithub.com/rmagick/rmagick/wiki/Installing-on-Ubuntu
罗宾Clowers

Answers:


258

安装软件包imagemagicklibmagickwand-dev(或libmagick9-dev)。然后,您应该能够安装Rmagick Gem。

sudo apt-get install imagemagick libmagickwand-dev

否则,您将缺少与ruby相关的开发包,例如build-essentialruby1.8-dev。在这种情况下,Google中的通用“ ubuntu install ruby​​ 1.8”查询应该可以解决您的问题。


1
这个(imagemagick和libmagickwand-dev)似乎有效,我可以看到RMagick 2.13.1是我列出的宝石之一!
Ciaran Archer

3
正如我在下面评论的那样,现在仅使用libmagickwand-dev就可以很好地工作了,并且不需要任何其他软件包。至少对于Magick :: ImageList.from_blob,Magick :: ImageList.resize和Magick :: ImageList.write。不确定其他方法。
umassthrower

到目前为止,这是最快的答案!惊人!
Tomer,2015年

1
在Ubuntu 14.04 LTS上,您必须首先安装libmagickcore-dev,然后安装libmagickwand-dev,否则apt-get将拒绝安装wand dev软件包。(您应该能够在一个命令行中安装它们,如下所示:sudo apt-get install imagemagick libmagickcore-dev libmagickwand-dev)(来源:askubuntu.com/questions/112548/rmagick-install-problem/…
Dalibor Filus 2015年

在我的情况下-经过大量尝试,apt-get告诉我libmagickwand-dev需要libmagickcore-dev,但不会安装。我sudo apt-get install libmagickcore-dev在magigwand之前奔跑,它有所帮助:)
Grzegorz

63

在这些答案中,您不需要很多其他垃圾,只需要:

sudo apt-get install libmagickwand-dev

4
我可以确认这在Ubuntu 14.04上有效。附带说明一下,您还需要软件包ruby-devmake...,它们可能已在典型系统上存在,但在Docker映像上不存在。
丹·艾伦


搜索了大约一个小时后,Dan Allen的评论^(关于安装makeruby-dev)终于解决了。谢谢!
sarink 2014年

不要忘记做:sudo apt-get update在此之前。
ZombieBsAs


26

Ubuntu 15.04上,为我解决的问题是删除所有以前的* magick安装,重新安装所需的软件包,然后符号链接配置文件:

sudo apt-get purge graphicsmagick graphicsmagick-dbg imagemagick-common imagemagick imagemagick-6.q16 libmagickcore-6-headers libmagickwand-dev graphicsmagick-libmagick-dev-compat
sudo apt-get autoremove
sudo apt-get install imagemagick libmagickwand-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/bin/Magick-config
gem install rmagick

1
非常感谢。我认为所有其他Ubuntu答案都已过时。
bjmc

6
谢谢。将14.04升级到16.04后,这对我有用。
nroose

1
此解决方案在Ubuntu 16.04 LTS中不起作用,当运行命令sudo apt-get install imagemagick libmagickwand-dev时,出现错误“以下软件包具有未满足的依赖项:libmagickwand-dev:依赖于:libmagickwand-6.q16-dev,但并非如此即将安装E:无法纠正问题,您拿着破损的包裹”
Dinesh Kumar Soni

16

在Ubuntu 14.04中


下面的代码为我工作

sudo apt-get install imagemagick libmagickcore-dev libmagickwand-dev

然后,

gem install rmagick

12

Ubuntu 12.0.4.2上 sudo apt-get install libmagickwand-dev libmagickcore-dev libmagickcore4-extra libgraphviz-dev libgvc5为我工作。

graphicsmagick-libmagick-dev-compat已安装,但不包含头文件,因此rmagick无法编译。

请注意,在运行上述命令之前,您需要删除graphicsmagick-libmagick-dev-compat。


谢谢您-这是唯一对我有用的解决方案。
alexpls 2013年



3

您收到消息,extconf.rb:1:in 'require': no such file to load -- mkmf (LoadError)因为ruby1.8-dev未安装软件包。安装它(sudo apt-get install ruby1.8-dev),然后重试。




1

在Ubuntu上,您可以运行:

sudo apt-get install libmagickwand-dev

在Centos上,您可以运行:

sudo yum install gcc ImageMagick-devel make which

然后安装

gem install rmagick

0

如果要尝试安装本机deb软件包而不是gem,请注意,直到最近,librmagick-ruby在Ubuntu 10.04上已损坏:

https://bugs.launchpad.net/ubuntu/+source/librmagick-ruby/+bug/518122

尤其参见注释17。我认为这一问题已经得到解决,因此现在apt-get install librmagick-ruby可能“有效”。否则,这就是从源代码自己构建它的方法

$ cd /usr/src
$ sudo apt-get build-dep librmagick-ruby
$ sudo apt-get source librmagick-ruby
$ cd librmagick-ruby-2.11.1
$ sudo dch -i
(add changelog entry)
$ sudo dpkg-buildpackage
$ cd ..
$ sudo dpkg -i librmagick-ruby*.deb

0

在ubuntu 16.04.3中:

这我工作:

sudo apt install imagemagick imagemagick-6.q16

这意味着安装了此imagemagick,然后您就可以运行RMagick。


1
此解决方案在ubuntu 16.04.3中不起作用,显示错误“以下软件包具有未满足的依赖项:libmagickwand-dev:依赖于:libmagickwand-6.q16-dev,但不会安装E:无法纠正问题,您拿着破损的包裹。”
Dinesh Kumar Soni,

0

如果您使用的是Linux,则只需运行以下命令。

 sudo apt-get install imagemagick libmagickwand-dev

然后

 bundle install

希望这能解决您的问题。

如果您使用的是Mac,则只需运行以下命令

首先,通过使用取消链接未正确安装在最新的mac high sierra中的已安装imagemagick。

 brew unlink imagemagick

然后使用以下命令安装最新的imagemagic6

 brew install imagemagick@6 && brew link imagemagick@6 --force

然后使用以下命令安装gem rmagick

 gem install rmagick 

 bundle install

它将工作正常。


0

请遵循UBUNTU 16.04证明的以下3个步骤

sudo apt-get install build-essential imagemagick libmagickwand-dev

#In .bashrc or .bash_profile add below code. Just check the ImageMagick dir name.
export PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH"
gem install rmagic #Install Gem
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.