没有这样的文件或目录@ rb_sysopen - libreconv

时间:2015-03-12 11:02:55

标签: ruby-on-rails-4.2 ruby-2.2

我是新手' libreconv'宝石, 我使用的是Ruby 2.2.0和Rails 4.2.0版本 当我将Ms Word文档转换为PDF时,我收到以下错误:

2.2.0> Libreconv.convert(' sample1.doc',' /Users/rp/test_document.pdf')

Errno :: ENOENT:没有这样的文件或目录@ rb_sysopen - /tmp/sample1.pdf 来自/home/rp/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/fileutils.rb:1391:in`initialize'

任何建议?

1 个答案:

答案 0 :(得分:1)

我用这样的补丁解决了这个问题:

class Libreconv::Converter
  alias_method :old_convert, :convert

   def convert
     if Rails.env.development?
       old_convert
     else
       %x(sudo #{@soffice_command} --headless --convert-to pdf --outdir #{@target_path} #{@source})
       target_tmp_file = "#{@target_path}/#{File.basename(@source, ".*")}.pdf"
       FileUtils.cp target_tmp_file, @target
     end
   end
end