Rails 应用程序的正确路径或权限? - 没有这样的文件或目录@ rb_sysopen

Correct path or permissions for Rails app? - No such file or directory @ rb_sysopen

调用 Carrierwave gem 功能的 Rails 应用程序中的以下模型方法

  before_save :generate_firma

  def generate_firma
    unless self.signature.nil?
      instructions = self.signature.map { |h| "line #{h['mx'].to_i},#{h['my'].to_i} #{h['lx'].to_i},#{h['ly'].to_i}" } * ' '
      path_signature_image="tmp/"+self.intervento_id.to_s+self.sequence+".png"
      puts path_signature_image
      system "convert -size 1010x395 xc:transparent -stroke blue -draw '#{instructions}' #{path_signature_image}"
      self.firma = File.open(path_signature_image)
    end
  end

在执行时生成错误 No such file or directory @ rb_sysopen - tmp/58iniziofirma.png,突出显示行 self.firma[...] 上的错误。 这是在使用 Ubuntu 16.04 在旧服务器 Ubuntu 14.04 上将应用程序迁移到新服务器时发生的,文件正确加载到 S3.

加载以前的版本时,我认为最大的罪魁祸首是权限问题,因为每个服务器实例在根级别、用户级别和发布级别都有一个 tmp 目录。

然而,两个服务器上的权限是相同的:

drwxrwxrwt  (root level)
drwxrwxr-x  (user level)
drwxrwxr-x  (current release level)

如何解决这个问题?

新服务器?那么请问有什么不同?

撞了几下墙才发现服务器上没有安装一个重要的组件。 Whatever documentation there is out there 它没有说明 imagemagick 需要安装。