0

新手 Rails 编码器在这里....花了太多时间试图弄清楚这个有什么想法?

以下脚本在我的开发机器上工作,但在生产中失败。此脚本失败后 - 当我检查 /tmp 文件夹时,“mini_magick20130627-17452-1k48fim.png”文件实际上就在那里。ImageMagick 转换和调整大小也可以从命令行按预期工作。

## resize screenshot
## wrapper for imagemagick
require 'mini_magick'

webthumb = MiniMagick::Image.open(thumbnail_image_path)
webthumb.crop('1024x768+0+0') # width, height, top, left
webthumb.resize('250x188') # width, height
# If you want to save this image use following
webthumb.write(thumbnail_image_path)

SitesController#create 中的 Errno::ENOENT

没有这样的文件或目录 - 识别 -quiet -ping /tmp/mini_magick20130627-17452-1k48fim.png

4

4 回答 4

1

这是另一个有效的答案。

编辑 development.rb (如果要与乘客一起运行)和 production.rb
添加到文件底部

  ENV['PATH'] = "/usr/local/bin:#{ENV['PATH']}"

从这个参考得到它:Passenger + Carrierwave + Rails

于 2014-01-05T13:04:32.227 回答
0

我无法设置我$PATH使用类似的东西SetEnv PATH "$PATH:...,但我找到了一种让它工作的方法。

在我添加的 vhost 配置文件/usr/local/bin$PATH(这是 image magick 的二进制文件所在的位置),但我还指定了所有其他$PATHs,以便一切正常:

SetEnv PATH "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
于 2014-05-19T21:09:29.227 回答
0

您在 configure.xml 中设置 ImageMagick 参数:http: //imagemagick.org/script/resources.php

他们的示例不包括 tmp 目录,但您为此使用 MAGICK_TEMPORARY_PATH: http ://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22311 (最后一篇文章)

于 2013-07-16T22:37:43.670 回答
0

我会回答我自己的问题,因为其他人可能会看到这个错误。这个问题与 Phusion Passenger(在 Apache 下)处理环境变量的方式有关。我在这里使用的是 Apache + Phusion Passenger 服务器。

我通过将 ImageMagick 路径变量放入我的 apache httpd-vhosts.conf 文件中解决了这个问题:

<VirtualHost *:80>
...
SetEnv LD_LIBRARY_PATH /usr/local/lib
SetEnv MAGICK_HOME /usr/local/lib/ImageMagick-6.8.6
SetEnv DYLD_LIBRARY_PATH $MAGICK_HOME/lib
SetEnv PATH $MAGICK_HOME/bin:/usr/local/bin/:$PATH
...
</virtualhost>

更多信息在这里 -

来自:http ://blog.phusion.nl/2008/12/16/passing-environment-variables-to-ruby-from-phusion-passenger/

但是等等,我已经在我的 /etc/bashrc 或 /etc/profile 中设置了环境变量。为什么他们不工作?

如果您在 /etc/bashrc 或 /etc/profile 中设置了环境变量,那么这些环境变量在您的 shell 中可用。但是,在大多数操作系统上,Apache 不是从 shell 启动的,也不会加载 bashrc/profile 中定义的环境变量,这就是为什么在 /etc/bashrc 和 /etc/profile 中设置环境变量通常对 Apache 没有影响(以及通过归纳,在乘客和铁路流程上)。

于 2013-06-28T23:37:59.137 回答