【问题标题】:Installing rmagick gem on ubuntu 14.04在 ubuntu 14.04 上安装 rmagick gem
【发布时间】:2014-11-24 05:41:25
【问题描述】:

我正在尝试在 OpsWorks 上部署应用程序,但安装 rmagick gem 时出现问题。我有以下操作系统包:

libmagickwand-dev imagemagick libmagickcore-dev

以下是部署过程中出现错误的日志文件:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/usr/local/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 0.0.0. Can't find Magick-config in /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

*** 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/bin/ruby

extconf failed, exit code 1

Gem files will remain installed in /home/deploy/.bundler/myapp/ruby/2.1.0/gems/rmagick-2.13.3 for inspection.
Results logged to /home/deploy/.bundler/myapp/ruby/2.1.0/extensions/x86_64-linux/2.1.0/rmagick-2.13.3/gem_make.out
An error occurred while installing rmagick (2.13.3), and Bundler cannot
continue.
Make sure that `gem install rmagick -v '2.13.3'` succeeds before bundling.
STDERR:
---- End output of sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 ----
Ran sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 returned 5
[2014-09-29T18:24:08+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

【问题讨论】:

    标签: ruby-on-rails ubuntu-14.04 aws-opsworks


    【解决方案1】:

    首先我们需要搜索配置

    sudo find / -name "Magick-config"
    

    你会得到类似这样的输出:

    /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config
    

    现在您只需要在您的环境中设置 bin 位置即可:

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

    不要忘记从行尾删除 Magick-config。

    【讨论】:

      【解决方案2】:

      要永久修复它,我们可以这样做:

      ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/bin/Magick-config
      

      【讨论】:

        【解决方案3】:

        在 Ubuntu 14.04 中,我还需要安装 libgmp-dev 库才能使用更新的 rmagick 2.15.4 版本:

        sudo apt-get install libgmp-dev
        

        希望这会有所帮助!

        【讨论】:

          【解决方案4】:

          安装 Imagemagick-dev 库

          Ubuntu 系统:sudo apt-get install libmagickwand-dev

          RHEL 系统:yum install ImageMagick-devel

          Mac:brew install imagemagick

          【讨论】:

            【解决方案5】:

            在将 ubuntu 升级到 15.05 后我遇到了同样的问题,Magick-config 文件不再在我的 PATH 中。 为了解决这个问题,我首先找到了Magick-config的位置

            sudo find / -name "Magick-config"

            这是/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config 然后我将它添加到路径中。之后捆绑成功。

            【讨论】:

            • 我整个早上都在 Ubuntu 15 上遇到同样的问题。这终于奏效了,谢谢。
            【解决方案6】:
            sudo apt-get install libmagickwand5 libmagickwand-dev
            gem install rmagick -v 2.13.3
            

            【讨论】:

              【解决方案7】:

              在您的 shell 中,运行以下命令:

              apt-get install libmagickwand-dev
              

              【讨论】:

              • 更具体地说,确保该命令在您尝试部署到的机器上运行;不仅仅是您的本地开发机器。我猜你需要为它添加一个厨师“包”资源。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-08-20
              • 1970-01-01
              • 1970-01-01
              • 2015-04-06
              • 2011-04-11
              • 2011-06-21
              • 2015-07-12
              相关资源
              最近更新 更多