转换:Postscript委托失败,虽然在Terminal工作

时间:2013-11-23 22:02:24

标签: macos imagemagick sublimetext2 ghostscript imagemagick-convert

当我从Sublime2运行的Ruby程序执行以下命令时(通过后者的“构建”机制)

/usr/local/bin/convert /Users/palfvin/tmp/cover_sheet2.pdf -depth 8 /Users/palfvin/tmp/cover_sheet2.tiff

我收到以下错误:

convert: Postscript delegate failed `/Users/palfvin/tmp/cover_sheet2.pdf': No such file or directory @ error/pdf.c/ReadPDFImage/678.

输入文件存在,此命令从终端运行良好。我修改了Sublime2 Ruby构建设置,以便PATH环境变量与终端中的相同。我在两个环境中都做了convert -list configure,输出也一样。

我从Convert: Postscript delegate failed收集并且之前的经验表明问题与ghostscript执行有关,但我不能为我的生活找出可能导致这种情况的原因。提前感谢您的帮助。

更新1:在回答第一个答案时,以下是从终端运行ruby而不是Sublime时的其他环境变量,不包括帐号/密码变量(来自Sublime的所有变量完全相同)作为他们的终端对手)。请注意,信息显示为“数组”,因为我通过在两个上下文中获取输出ENV来获得此信息,将其转换为数组并从另一个数组中减去一个数组。

[["GEM_HOME", "/Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats"],
  ["GEM_PATH", "/Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats:/Users/palfvin/.rvm/gems/ruby-2.0.0-p247@global"],
  ["IRBRC", "/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/.irbrc"],
  ["LANG", "en_US.UTF-8"],
  ["MY_RUBY_HOME", "/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247"],
  ["OLDPWD", "/Users/palfvin/avlats/spec"],
  ["PWD", "/Users/palfvin/avlats"],
  ["RUBY_VERSION", "ruby-2.0.0-p247"],
  ["SHLVL", "1"],
  ["TERM", "xterm-256color"],
  ["TERM_PROGRAM", "Apple_Terminal"],
  ["TERM_PROGRAM_VERSION", "309"],
  ["TERM_SESSION_ID", "8A3CDBC4-9495-40DC-A482-3297FE0BA614"],
  ["_", "/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/bin/ruby"],
  ["rvm_bin_path", "/Users/palfvin/.rvm/bin"],
  ["rvm_path", "/Users/palfvin/.rvm"],
  ["rvm_prefix", "/Users/palfvin"],
  ["rvm_version", "1.21.3 (stable)"]]

1 个答案:

答案 0 :(得分:0)

很可能它在Ruby运行的用户配置和您自己的用户之间存在一些差异。您需要检查2个用户的环境,特别是对于任何以GS_开头的变量,并确保在两种情况下都相同。