Virtual machine Ubuntu18.04.03 LTS-由于rMagick,捆绑包安装抛出错误

Virtual machine Ubuntu18.04.03 LTS-由于rMagick,捆绑包安装抛出错误,virtual-machine,ubuntu-18.04,rmagick,ruby-on-rails-4.2,Virtual Machine,Ubuntu 18.04,Rmagick,Ruby On Rails 4.2,我正在MacOS上设置我的VM Ubuntu 18.04.03。 鉴于: Ubuntu 18.04.03 LTS ImageMagick 6.9.7-4 Q16 x86_64 20170114http://www.imagemagick.org ruby 2.1.2p95(2014-05-08修订版45877)[x86_64-linux] 文件中设置的预期Rails版本为“4.2.7.1” 系统建议运行gem安装rmagick-v'2.13.2' 在终端中运行bundle install时

我正在MacOS上设置我的VM Ubuntu 18.04.03。 鉴于:

Ubuntu 18.04.03 LTS
ImageMagick 6.9.7-4 Q16 x86_64 20170114http://www.imagemagick.org 
ruby 2.1.2p95(2014-05-08修订版45877)[x86_64-linux]
文件中设置的预期Rails版本为“4.2.7.1”
系统建议运行gem安装rmagick-v'2.13.2'

在终端中运行bundle install时,出现以下错误:

Installing rmagick 2.13.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2/ext/RMagick
/usr/share/rvm/rubies/ruby-2.1.2/bin/ruby -I
/usr/share/rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0 -r
./siteconf20200113-25302-1t913rc.rb 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.2. Can't find Magick-config in
/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/home/i.k/.rvm/gems/ruby-2.1.2/bin:/home/i.k/.rvm/gems/ruby-2.1.2@global/bin:/usr/share/rvm/rubies/ruby-2.1.2/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin:/usr/share/rvm/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=/usr/share/rvm/rubies/ruby-2.1.2/bin/ruby

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

/home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2 for inspection.
Results logged to
/home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/gem_make.out

An error occurred while installing rmagick (2.13.2), and Bundler cannot
continue.
Make sure that `gem install rmagick -v '2.13.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  rmagick
当我运行
gem安装rmagick-v'2.13.2'--source'https://rubygems.org/“
我遇到了以下错误

Building native extensions. This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    current directory: /home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2/ext/RMagick
/usr/share/rvm/rubies/ruby-2.1.2/bin/ruby -I /usr/share/rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0 -r ./siteconf20200114-15956-1hlaeuw.rb 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.2. Can't find Magick-config in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/home/i.k/.rvm/gems/ruby-2.1.2/bin:/home/i.k/.rvm/gems/ruby-2.1.2@global/bin:/usr/share/rvm/rubies/ruby-2.1.2/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin:/usr/share/rvm/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=/usr/share/rvm/rubies/ruby-2.1.2/bin/ruby

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2 for inspection.
Results logged to /home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/gem_make.out
我已经尝试了以下方法:

sudo apt安装imagemagick libmagickcore dev libmagickwand dev
已安装0个gems-无结果

sudo-apt安装libmagickcore-dev
已安装0个gems-无结果

PATH=“/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH”
当我运行gemrmagick安装时没有发生任何事情-错误保持不变

UPD。 mkmf.log说:

find_executable: checking for Magick-config... -------------------- no

--------------------

Can't install RMagick 2.13.2. Can't find Magick-config in /home/i.k/.rvm/gems/ruby-2.1.2/bin:/home/i.k/.rvm/gems/ruby-2.1.2@global/bin:/usr/share/rvm/rubies/ruby-2.1.2/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin:/usr/share/rvm/bin

任何帮助都将不胜感激

我真的找到了答案。这就是我的特殊情况下所起的作用。谁知道呢,它可能会帮助其他人。在项目目录中,我这样做了

首先,我运行了
locate libMagick
,以确保我拥有它并且它位于它应该位于的位置

第二次我运行了
locate Magick config

我还在终端中运行了
convert-version
,以确保我拥有Imagemagic并检查它的版本

为了安全起见,正如一些人所说,它并不总是预装在Ubuntu上,我还检查了
make

find/-iname“make”2>/dev/null

它通常安装在
/usr/bin/make
中,而我的是

建议使用PATH变量作为选项的修复如下所示:

PATH=“/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH”

对于一个已经处理了一天或更长时间的人来说,这是一个不需要动脑筋的问题,但对于一个新手来说,这可能会变得棘手

因此,请确保比较您拥有的ImageMagick版本,并在此PATH命令中相应地更新它

而且它是区分大小写的,在我的例子中,“Q”不是大写的“Q”,而是一个小的。我从Magick配置的位置路径中找到了它(请参阅我在上面运行的命令)

因此,我的路径如下:
PATH=“/usr/lib/x86_64-linux-gnu/ImageMagick-6.9.7/bin-q16:$PATH”

所以我运行了
sudo apt get update
来清除所有缓存,然后在terminal和voila中运行了正确的PATH命令。如果有人想添加任何内容或纠正我的逻辑,请这样做,欢迎所有评论