"Errno::ENOENT in ListingsController#create" 在 Rails 申请中

"Errno::ENOENT in ListingsController#create" in Rails application

include CarrierWave::MiniMagick 添加到我的 image_uploader.rb 文件并取消注释 image_uploader.rb 内的 process: resize to fit => [200,300] 行后,每当我尝试在我的应用程序中创建新列表时我收到以下错误消息:

"Errno::ENOENT in ListingsController#create" with the explanation of "No such file or directory - identify".

看来错误发生在 "Create" 操作中第 20 行的 'app/controllers/listings_controller.rb' 目录中。

错误页面上提取源的描述显示如下: self.pid = Process.spawn({'LANG' => self.lang}, command, log_opts) 作为引发错误的行。

在这两个提到的更改之前,新列表将毫无问题地创建(除了附加图像太大,因此我进行了最新更改)。我正在使用 Cloud9 IDE 开发此应用程序,将 Puma 作为我的 Web 服务器,将 Heroku 作为(预期的)未来生产级应用程序主机。

No such file or directory - identify

这意味着您的 OS 中没有安装 ImageMagick 包。因此,尝试找到将 ImageMagick 包安装到您的 Heroku 节点的方法。

更新

This 回答说 ImageMagic 已经安装到 Heroku。因此,尝试将 ImageMagick 的 Ruby 包装器添加到您的 Gemfile 中:

gem 'mini_magick', '~> 4.1.0'