运行 Rails 3.2 应用程序时出现 Rmagick 错误

Posted

技术标签:

【中文标题】运行 Rails 3.2 应用程序时出现 Rmagick 错误【英文标题】:Rmagick error while running Rails 3.2 application 【发布时间】:2016-10-03 02:48:48 【问题描述】:

我正在开发一个旧项目,该项目具有 Ruby 版本 1.9.3p 和 Rails 3.2.13

这是我的 Gemfile:

gem 'rails', '3.2.13'
gem 'mysql2', '~> 0.4.1', :group => [:production, :staging]
gem "paperclip", "~> 2.3"
gem "rmagick", "~> 2.13.1", :require => 'RMagick' 

当我运行 bundle install 时,我收到如下错误:

安装 rmagick (2.13.2) 和 Bundler 时出错 无法继续。确保gem install rmagick -v '2.13.2' 在捆绑之前成功。

当我运行上述命令时,我收到以下错误:

abcuser@myvm:~/Desktop/report_master$ gem install rmagick -v '2.13.2' 构建原生扩展。这可能需要一段时间... 错误:错误 安装 rmagick:错误:无法构建 gem 原生扩展。

current directory: /home/abcuser/.rvm/gems/ruby-1.9.3-p551@proj/gems/rmagick-2.13.2/ext/RMagick

/home/abcuser/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -r ./siteconf20160603-8257-drbei5.rb extconf.rb 检查 Ruby 版本

= 1.8.5...是检查 gcc...是检查 Magick-config...否无法安装 RMagick 2.13.2。在中找不到 Magick-config /home/abcuser/.rvm/gems/ruby-1.9.3-p551@proj/bin:/home/abcuser/.rvm/gems/ruby-1.9.3-p551@global/bin:/home/abcuser/。 rvm/rubies/ruby-1.9.3-p551/bin:/home/abcuser/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin :/bin:/usr/games:/usr/local/games

* extconf.rb failed * 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。查看 mkmf.log 文件以获取更多详细信息。您可能需要配置 选项。

提供的配置选项:--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=/home/abcuser/.rvm/rubies/ruby-1.9.3-p551/bin/ruby

要查看此扩展无法编译的原因,请查看 mkmf.log 可以在这里找到:

/home/abcuser/.rvm/gems/ruby-1.9.3-p551@proj/extensions/x86-linux/1.9.1/rmagick-2.13.2/mkmf.log

extconf 失败,退出代码 1

Gem 文件将继续安装在 /home/abcuser/.rvm/gems/ruby-1.9.3-p551@proj/gems/rmagick-2.13.2 检查。结果记录到 /home/abcuser/.rvm/gems/ruby-1.9.3-p551@proj/extensions/x86-linux/1.9.1/rmagick-2.13.2/gem_make.out

请帮我解决这个错误。

【问题讨论】:

【参考方案1】:

错误:安装 rmagick 时出错:错误:无法构建 gem 原生扩展。

这可能是因为您没有安装node.js

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

或者因为,简单来说,你没有安装 RMagick:

sudo apt-get install imagemagick libmagickwand-dev

【讨论】:

【参考方案2】:

一点建议: 注意 ImageMagick 安全问题。 know more

【讨论】:

确实不错的建议。

以上是关于运行 Rails 3.2 应用程序时出现 Rmagick 错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试运行 rails 时出现多个 gems 错误

Android Studio 3.2 上的 AndroidX - 运行应用程序时出现验证错误

运行rails应用程序时出现webpacker错误。 'TypeError:environment.plugins.set不是函数'

尝试将 Rails 应用程序部署到 heroku 时出现 Uglifier 错误

推送到 Elastic Beanstalk 时出现 Rails 捆绑错误

Ruby on Rails:运行 rake 命令时出现错误消息