Sublime Text 2构建与Grunt v0.4.0

4

我正在尝试设置Sublime构建过程来运行Grunt(v0.4) 这是我的构建代码片段:

{
    "cmd": ["grunt", "--no-color"],
    "selector": ["Gruntfile.js"],
    "path": "/usr/local/bin",
    "working_dir": "${project_path}",
    "osx": {
        "cmd": ["grunt", "--no-color"]
    }
}

当我按下 Command-B 时,出现以下错误信息:

grunt-cli: grunt命令行接口 (v0.1.6) 致命错误: 找不到本地的grunt。

如果您看到此消息,则可能没有找到Gruntfile或者grunt未被本地安装到您的项目中。有关安装和配置grunt的更多信息,请参阅入门指南:

http://gruntjs.com/getting-started [完成时间为0.2秒,退出代码为99]

当我从终端运行grunt时,一切正常。
有任何想法吗?
3个回答

4

这是Sublime Text的一个“bug”。当您按下Ctrl+B时,它将以第一个打开的文件夹作为工作目录调用构建命令。因此,如果您没有打开该文件夹,则无法找到构建文件(Makefile,或在您的情况下是Gruntfile)。

因此,为了成功构建,您需要将Gruntfile放在与工作目录相同的文件夹中,并在Sublime Text中打开该文件夹,然后按下Ctrl+B


谢谢,我的项目中有三个文件夹,在最后一个文件夹中我有我的Gruntfile.js。当我关闭其他文件夹,只留下带有Gruntfile的文件夹时,它可以工作。也许有一种解决方法可以让它与其他文件夹一起工作? - Ran Yefet
是的。只需将Gruntfile文件夹放在第一位即可。您可以通过拖放更改文件夹的顺序。 - Skydiver
如果我将构建系统设置为“自动”,则此选择器似乎无法正常工作。我希望仅在Gruntfile.js上启动grunt命令。 - Maxime P
Maxime P:也许“Gruntfile.js”不是一个有效的选择器,因为它里面没有包含字符串“source”。关于这方面的文档很少。 - WraithKenny

0
在运行GruntJS之前,您需要使用以下命令进行安装: npm install grunt --save-dev 在新版本的GruntJS中,'grunt'不再是全局安装的,因此您可以在每个项目中使用不同版本的GruntJS。

谢谢,但我已经这样做了,正如我在终端运行“grunt”时提到的那样,它正在工作。 - Ran Yefet

0
在命令行中输入which grunt,然后将完整路径放入"cmd"部分 - 例如:"cmd": ["/opt/local/bin/grunt", "--no-color"]。 ST2的$PATH可能与您的CLI环境中的不同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接