【问题标题】:trouble with tmp directory on travistravis 上的 tmp 目录有问题
【发布时间】:2017-10-19 07:00:19
【问题描述】:

我有工作,代码是:

class Job
  @queue = :default

  class << self
    def perform
      temp_file = Rails.root.join('tmp', 'my_temp_file')
      return if File.exist?(temp_file)
      FileUtils.touch(temp_file)

      begin
        # ....
      ensure
        FileUtils.rm(temp_file)
      end
    end

在本地非常好,但在 travis 上失败:

Failure/Error: LateNotificationJob.perform
     Errno::ENOENT:
       No such file or directory @ rb_sysopen - /home/travis/build/something/something/tmp/my_temp_file

解决办法是什么?请帮忙!

【问题讨论】:

标签: ruby-on-rails ruby ruby-on-rails-4 travis-ci


【解决方案1】:

tmp 目录可能未签入您的存储库,但您的存储库的本地副本有它。对于以空白开头的 travis,某些 Rails 初始化程序或其他代码路径需要先创建该目录,然后再尝试在该目录中创建文件。 或者你可以简单地用你的 repo 签入一个空的tmp 目录。

这里有类似的问题和答案 - Heroku - how to write into "tmp" directory?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 2019-12-18
    • 2019-05-29
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    相关资源
    最近更新 更多