Gulp 通过蛋糕启动过程运行一口
我正在通过一个windows容器中的一小口构建站点:Gulp 通过蛋糕启动过程运行一口,gulp,cakebuild,Gulp,Cakebuild,我正在通过一个windows容器中的一小口构建站点: mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-1909 容器中安装了nodejs和gulp cli,如下所示(在Dockerfile中): 如您所见,我正在c:\tools\node-v12.16.3-win-x64下的容器中安装节点 在我的cake脚本中,我尝试执行gulp文件,如下所示: StartProcess("cmd", new ProcessSettin
mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-1909
容器中安装了nodejs和gulp cli,如下所示(在Dockerfile中):
如您所见,我正在c:\tools\node-v12.16.3-win-x64下的容器中安装节点
在我的cake脚本中,我尝试执行gulp文件,如下所示:
StartProcess("cmd", new ProcessSettings {
Arguments = "/c gulp",
WorkingDirectory = projectDir)
});
但似乎启动进程找不到文件。。。我从蛋糕开始的过程中得到这个输出:
Executing: "cmd" /c gulp
'gulp' is not recognized as an internal or external command
运行ContainerInteractive,我可以看到文件,它就在那个地方,如果我从projectDir运行gulp,所有的工作都可以
我也尝试过像以下所有表单一样运行它,但没有成功:
StartProcess("powershell", new ProcessSettings {
Arguments = "gulp",
WorkingDirectory = projectDir)
});
StartProcess("gulp");
StartProcess("gulp.cmd");
这是容器内关于npn、gulp版本的输出(根据评论要求):
编辑:
“本地版本:未知”
似乎已关闭。C:\code
是您的项目目录吗
当我查看“官方”gulp配置步骤时,安装结果是同时具有CLI和本地版本。
(见:)
你可以考虑使用蛋糕。GULP可以通过本地或全球安装来帮助蛋糕的吞咽:
- 名称空间:
- 用法示例:
原始答案 您可以尝试使用gulp应用程序的绝对路径 例如:
StartProcess("cmd", new ProcessSettings {
Arguments = "/c c:\tools\node-v12.16.3-win-x64\gulp",
WorkingDirectory = projectDir)
});
这可能是因为您的环境设置不正确,我发现这可能很有用:Hi,我也尝试过这种方法,但结果相同。环境变量的优点很好,但似乎设置正确,因为如果我迭代运行容器并检查环境变量,它就在那里。当您在此容器上交互运行
gulp--version
时,您是否可以向提供输出?我也很好奇这是否有效:where gulp
和where npm
我认为gulp需要npm能够很好地运行,所以这也是检查npm:)嗨@estherwn谢谢你的回复。。。我已将您提到的输出添加到问题中
StartProcess("cmd", new ProcessSettings {
Arguments = "/c c:\tools\node-v12.16.3-win-x64\gulp",
WorkingDirectory = projectDir)
});