我正在尝试在本地计算机上运行一个项目。我在Mac OS系统上安装了Ruby和Rails。它运作正常。我可以创建一个新项目,并且可以正常运行它而不会出现任何错误,但是当我尝试运行现有项目时,它表示我们必须bundle install
。当我运行该命令时,我收到以下错误:
"An error occurred while installing rmagick (2.13.2), and Bundler cannot continue.
Make sure that `gem install rmagick -v '2.13.2'` succeeds before bundling."
当我运行gem install rmagick -v '2.13.2'
时,它会给我以下错误:
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc-4.2... yes
checking for Magick-config... no
Can't install RMagick 2.13.2. Can't find Magick-config in /usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/sm/bin:/opt/sm/pkg/active/bin:/opt/sm/pkg/active/sbin
*** 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=/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby
Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rmagick-2.13.2 for inspection.
Results logged to /usr/local/rvm/gems/ruby-1.9.3-p392/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
我已经搜索过,但没有在任何地方找到答案。
答案 0 :(得分:76)
对于Ubuntu,我使用了ff。基于此link:
$ sudo apt-get install libmagick++-dev
答案 1 :(得分:48)
在Mac上(以下代码适用于OSX Mavericks):
brew install imagemagick
gem install rmagick
答案 2 :(得分:29)
在Mac上你可以试试这个:
$ brew unlink imagemagick
$ brew install imagemagick@6 && brew link imagemagick@6 --force
$ gem install rmagick
答案 3 :(得分:13)
我已经通过安装imagemagic解决了这个问题:
sudo apt-get install imagemagick
然后安装libmagick包:
sudo apt-get install libmagick++-dev
答案 4 :(得分:9)
对于linux fedora,我得到了同样的错误并修复了以下两个命令:
yum install ImageMagick
gem install rmagick
对于Centos安装 ImageMagick-devel 包。使用以下命令:
yum install ImageMagick-devel
gem install rmagick
感谢。
答案 5 :(得分:7)
首先,请确保您已安装Imagemagick
:
$ sudo apt-get install imagemagick
现在,它可以构建gem原生扩展。
然后,安装Rmagick
gem:
$ sudo gem install rmagick
答案 6 :(得分:3)
这是我在16.04所做的,
sudo apt-get install libmagickwand-dev
sudo apt-get install graphicsmagick-imagemagick-compat
然后像那样安装gem
PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH" gem install rmagick -v '2.13.2'
答案 7 :(得分:2)
根据错误日志,它看起来像“Magick-config”缺失。 您需要安装ImageMagik或GraphicsMagick。这些是您应该遵循的命令,取自RMagik Documentation:
1) Go to http://www.imagemagick.org or http://www.graphicsmagick.org and download the latest version of the software to a temporary directory. the extract them :
- tar xvzf ImageMagick.tar.gz
- cd ImageMagick-x.x.x
- ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8
- make
- sudo make install
- sudo gem install rmagick
答案 8 :(得分:2)
只需运行以下命令
• $ sudo apt-get install imagemagick
• $ sudo apt-get install libmagick++-dev
• $ sudo gem install rmagick
• $ bundle install
答案 9 :(得分:2)
首先运行这个:
sudo apt-get install imagemagick
然后:sudo apt-get install libmagick++-dev
现在安装rmagick:gem install rmagick
答案 10 :(得分:2)
您可能正在安装ImageMagick版本7.x.x,它将在usr/lib/local/include/ImageMagick7.x.x
文件夹中生成不同的文件夹名称。
E.g。
在ImageMagick6.x.x版本中,我们有magick
,wand
个命名文件夹,其中ImageMagick7.x.x版本已命名此MagickCore
,MagickWand
。所以这个更新导致了一些gem安装中的问题,就像这里一样。哪个使用
magick/some_header.h
或wand/some_header.h
(表示它们未使用新的7.x.x ImageMagick版本更新)。这就是我们收到此错误的原因:
```
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
....
checking for wand/MagickWand.h... no
```
并在日志文件中这样:
error: 'MagickCore/method-attribute.h' file not found
#include "MagickCore/method-attribute.h"
^
<强>解决方案强>
从官方网站https://www.imagemagick.org/download/在您的系统中安装ImageMagick6.x.x版本并使用此命令安装它(在解压zip / tar之后):
./configure
make
make install
然后做
gem install rmagick
它会起作用。
答案 11 :(得分:1)
我在 Ubuntu 20.04 中设置 Rails 6 应用程序时遇到了同样的问题。
我是这样解决的
RMagick 是 Ruby 编程语言和 ImageMagick 图像处理库之间的接口。所以我们首先需要为 ImageMagick 安装开发库:
第 1 步:
在 Ubuntu 上,您可以运行:
sudo apt-get install libmagickwand-dev
在 Centos 上,您可以运行:
sudo yum install gcc ImageMagick-devel make which
在 Arch Linux 上,您可以运行:
pacman -Syy pkg-config imagemagick
在 Alpine Linux 上,您可以运行:
apk add pkgconfig imagemagick imagemagick-dev imagemagick-libs
或者,如果您想使用 ImageMagick 6,也可以运行:
apk add pkgconfig imagemagick6 imagemagick6-dev imagemagick6-libs
在 macOS 上,您可以运行:
brew install pkg-config imagemagick
或者,如果您想使用 ImageMagick 6,也可以运行:
brew install pkg-config imagemagick@6
在 Windows 上:
PATH
环境变量配置为编译器所在的位置。
(例如:set PATH=C:\Ruby27-x64\msys64\usr\bin;C:\Ruby27-x64\msys64\mingw64\bin;%PATH%
)ImageMagick-7.XXXX-Q16-x64-dll.exe
(不是 ImageMagick-7.XXXX-Q16-x64-static.exe
)二进制文件,或者您可以从 Windows Binary Release 下载 ImageMagick 6。Add application directory to your system path
和 Install development headers and librarries for C and C++
。
第 2 步:
安装 RMagick ruby gem:
gem install rmagick
第 3 步:
现在您可以将 RMagick ruby gem 添加到您的 Gemfile
:
gem 'rmagick', '~> 4.1'
注意:在撰写本文时,最新版本是 4.1
第 4 步:
最后,您可以运行 bundle install
将 gem 安装到您的应用程序中。
资源:rmagick/rmagick GitHub page
仅此而已。
我希望这会有所帮助
答案 12 :(得分:1)
Ubuntu解决方案:
sudo apt-get install imagemagick
ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/bin/Magick-config
答案 13 :(得分:1)
对于Ubuntu Server,我通过这样做安装它:
sudo apt-get install imagemagick
sudo apt-get install libmagick++-dev
sudo gem install rmagick -v '2.15.4'
答案 14 :(得分:1)
只需安装ImageMagick-devel软件包,一切都应该没问题:)
答案 15 :(得分:0)
对于mac用户,请安装imagemagick 6,因为最新版本7不兼容。
brew install imagemagick@6
gem install rmagick
卸载已有的内容后,上述内容应该有效。
答案 16 :(得分:0)
对于Fedora 27,我解决了这个问题:
sudo dnf install ImageMagick-devel ImageMagick
gem install rmagick
答案 17 :(得分:0)
您需要同时运行ubuntu的命令
sudo apt-get install libmagick++-dev
sudo apt-get install imagemagick
然后尝试安装
gem install rmagick
答案 18 :(得分:0)
如果您使用的是openSUSE,请先检查是否安装了ImageMagick
。如果已安装,请安装它开发头文件。
[arup@sztukajedzenia]$ sudo zypper se imagemagic
root\'s password:
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+-------------------+-------------------------------------------------------+-----------
i | ImageMagick | Viewer and Converter for Images | package
| ImageMagick | Viewer and Converter for Images | srcpackage
| ImageMagick-devel | Include Files and Libraries Mandatory for Development | package
| ImageMagick-doc | Document Files for ImageMagick Library | package
| ImageMagick-extra | Viewer and Converter for Images - extra codecs | package
[arup@sztukajedzenia]$ sudo zypper in ImageMagick-devel
root\'s password:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 2 NEW packages are going to be installed:
ImageMagick-devel libbz2-devel
........
答案 19 :(得分:0)