我正在尝试通过在顶层目录中简单地执行make
来构建我的项目。但是,当我这样做时,我收到以下错误:
[Errno 2] No such file or directory
[cmd: [u'make']]
[dir: /Users/jonathanong/Workspace/template]
[path: /usr/local/bin]
[Finished]
这是在将构建配置设置为Make
之后。
我使用的是Sublime Text 2.0.1,OS X 10.8.2。我的Makefile包含执行全局安装的node.js
二进制文件。我需要做什么?
答案 0 :(得分:14)
这是因为make
不在您的路径中。如果您可以在终端中构建,请使用which make
找出make
的路径,然后将其添加到构建路径中。您可以修改makefile build system以添加路径。
您的新makefile规则应如下所示:
{
"cmd": ["make"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${project_path:${folder:${file_path}}}",
"selector": "source.makefile",
"path": "/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin",
"variants":
[
{
"name": "Clean",
"cmd": ["make", "clean"]
},
{
"name": "Test",
"cmd": ["make", "test"]
}
]
}
这基本上是默认的make
目标,但我添加到PATH,当然还有一个测试目标。您可能必须扩展PATH以查找gcc,ifort或您用于编译的任何内容。 Use :
to separate directories on Linux and Mac, and ;
on Windows。您还可以更改其他环境变量,我必须设置DYLD_LIBRARY_PATH和CPATH,以便我的库和包含目录可用。
它应该保存为Sublime首选项的用户目录中的Make(OSX).sublime-build。 (OSX)将确保此文件仅在Mac上使用,因此当您将首选项复制到非Mac计算机时,您将无法在路径上进行操作。
答案 1 :(得分:1)
一个更优选的解决方案是IMO来调整插件中的PATH,因此您必须为所有构建系统和所有调用外部命令的插件设置一次。
你可以做到
import os
os.environ['PATH'] += os.pathsep + '/my/extra/path'
真实世界的例子生活在https://github.com/schlamar/ST3User/blob/master/preferences.py