构建服务器上的预构建事件咕噜声,没有找到咕噜声

Posted

技术标签:

【中文标题】构建服务器上的预构建事件咕噜声,没有找到咕噜声【英文标题】:Pre-build event grunt on build server, not finding grunt 【发布时间】:2018-04-18 20:16:04 【问题描述】:

我一直在项目中使用 CoffeeScript 文件,并已将 grunt 安装到项目中以编译它们。

我正在使用Grunt Launcher 手动编译文件,但我希望能够在构建项目时自动编译。为此我将以下内容放在项目属性下的预构建事件命令行中:

CD $(ProjectDir)
grunt build

这似乎在本地工作,但是当我提交到构建服务器时,它会返回此错误:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1063,5): error MSB3073: grunt build" exited with code 9009

我的研究表明,这本质上是一个未找到的文件;我猜是咕噜声。一些帖子(here 和 here)建议添加完整路径是答案,但是 grunt 的完整路径是什么?是不是类似:

"path-to-project\node_modules\grunt\lib\grunt.js"

Grunt 既安装在项目的本地,也安装在我的 PC 上。我正在使用 Visual Studio 2012。

有没有办法让构建服务器运行 grunt?

感谢您的任何帮助。

【问题讨论】:

对于带有 CLI 的节点模块,您应该能够在 node_modules\.bin 中找到 CLI 脚本的本地版本。试试path-to-project\node_modules\.bin\grunt build(我只在linux环境下试过这个,不确定能不能用) 【参考方案1】:

感谢任何看过这个问题的人。

经过一番试验,我发现将其放入预构建事件命令行中是可行的:

CD $(ProjectDir)
cmd.exe grunt build

【讨论】:

以上是关于构建服务器上的预构建事件咕噜声,没有找到咕噜声的主要内容,如果未能解决你的问题,请参考以下文章

突然咕噜声的构建失败了

heroku上的咕噜声和凉亭

导致此错误的原因 - “致命错误:无法找到本地咕噜声”

带有咕噜声的sass不起作用

sh 商店的咕噜声设置

命令'grunt'不会生成文件夹:dist