Sublime text 2,make找不到pandoc,OSX

时间:2013-10-17 21:32:26

标签: macos path makefile sublimetext2 pandoc

背景

我目前创建/处理markdown文档的工作流程使用Sublime Text 2和Makefile构建系统,该系统调用pandoc将它们处理成PDF文档。

我最近购买了一台运行OSX 10.8.5的新Mac,我遇到了一些问题。

工作原理:

我已经安装了Sublime Text 2,make(来自xcode命令行工具)和Pandoc(使用网站上的软件包,因为cabal版本不会为我构建)。

什么不起作用:

当我尝试构建文档时,它失败并显示以下来自make的错误消息:

pandoc -V geometry:margin=1in -S -o project_specification.pdf project_specification.markdown
make: pandoc: No such file or directory
[Finished in 0.0s with exit code 2]make: *** [project_specification.pdf] Error 1

如果我在终端使用make运行makefile,那么构建绝对正常。

我认为这是我的路径问题,但我真的不确定如何设置它。我的理解是OSX为不同的应用程序提供了多条路径(对我来说很奇怪,直到现在都是Linux用户),而且我不确定如何将其设置为sublime以使其工作。

更多背景资料:

makefile:

CPP_FILES = $(wildcard *.markdown)
OBJ_FILES = $(patsubst %.markdown,%.pdf,$(CPP_FILES))

%.pdf: %.markdown
    pandoc -V geometry:margin=1in -S -o $@ $(patsubst %.pdf,%.markdown,$@)

all: $(OBJ_FILES)

clean:
    rm -f *.pdf

最后:

我在那里找到了类似的问题,但没有一个有全面的答案,所以我再次转向堆栈溢出。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如何破解你的pandoc所在的路径? Sublime Text 2默认为:/usr/bin:/bin:/usr/sbin:/sbin。此示例适用于使用/usr/texbin的Tex Live安装,但您明白了。有一个包含在脑海中的难以入侵的包(例如Shell Turtlestein),但这在大多数情况下都适用。当我加载Sublime Text 2时,我一直在运行。如果你需要乌龟黑客,请告诉我。有一些方法可以在每个包构建脚本的基础上调整路径(例如,https://github.com/SublimeText/LaTeXTools/blob/master/LaTeX.sublime-build),但是,以下简单的插件通常有效:

import os

LOCAL = '/usr/bin:/bin:/usr/sbin:/sbin:/usr/texbin:/usr/local/bin'
HOME = '/Users/HOME'  ### !!! REPLACE WITH YOUR HOME PATH !!! ###
RVM = HOME + '/.rvm/bin:'

# Sublime's default path is
# /usr/bin:/bin:/usr/sbin:/sbin
os.environ['PATH'] += ':'
os.environ['PATH'] += LOCAL
os.environ['PATH'] += RVM

print 'PATH = ' + os.environ['PATH']