【问题标题】:Bundler Error for Existing Ruby on Rails Application?现有 Ruby on Rails 应用程序的 Bundler 错误?
【发布时间】:2015-05-06 11:34:52
【问题描述】:

我的开发环境,在云端 (CLOUD9)。 红宝石版本 - 2.1.5 Rails 版本 - 4.2.1

我现有的应用程序 ruby​​ 版本是 2.1.1 和 rails 4。

当我收到捆绑安装时,它会显示类似

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

    /usr/local/rvm/rubies/ruby-2.1.5/bin/ruby -r ./siteconf20150506-16709-1tpek9a.rb extconf.rb  

checking for gcc... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... *** 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-2.1.5/bin/ruby

extconf.rb:79:in ``': No such file or directory - convert (Errno::ENOENT)
        from extconf.rb:79:in `block in configure_compile_options'
        from /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:918:in `block in checking_for'
        from /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:351:in `block (2 levels) in postpone'
        from /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:321:in `open'
        from /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:351:in `block in postpone'
        from /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:321:in `open'
        from /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:347:in `postpone'
        from /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:917:in `checking_for'
        from extconf.rb:76:in `configure_compile_options'
        from extconf.rb:15:in `initialize'
        from extconf.rb:474:in `new'
        from extconf.rb:474:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/gems/2.1.0/gems/rmagick-2.15.0 for inspection.
Results logged to /usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/rmagick-2.15.0/gem_make.out    

我该如何解决这个问题?

【问题讨论】:

  • 您是否按照建议检查了 mkmf.log 文件?

标签: ruby-on-rails-4 rubygems bundler


【解决方案1】:

我会看看这一行:

checking for outdated ImageMagick version (<= 6.4.9)... *** extconf.rb failed ***

extconf.rb:79:in ``': No such file or directory - convert (Errno::ENOENT)

它尝试更新图像魔法,但失败了。 ImageMagic 是否安装正确,您使用的 gem 是否需要与 cloud9 上安装的版本不同的版本?

来自their website,建议:

sudo apt-get install imagemagick

我建议在捆绑之前更新 imagemagic 二进制文件。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您还需要安装开发库。我现在无法访问 ubunt 机器,但运行它应该会抛出正确的包。

    apt-cache 搜索 imagemagick | grep开发

    随便找个像 imagemagick-dev 这样的东西

    在 Fedora 上可以按如下方式安装包

    dnf 安装 ImageMagick-devel

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-02
      • 1970-01-01
      • 2020-04-12
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      相关资源
      最近更新 更多