繁体   English   中英

安装nodejs后,Bamboo远程构建代理程序找不到powershell.exe

[英]Bamboo remote build agent cannot find powershell.exe after installing nodejs

我刚刚在我的一个构建服务器(Win Server 2008 R2)上安装了nodejs,它承载了一个Bamboo远程代理。 完成安装并重新启动后,我遇到了以下情况:

远程Bamboo构建代理作为具有用户MyDomain \\ MyUser的Windows服务运行。 当使用内联powershell任务的构建正在执行时,它会因错误而失败(来自构建代理日志):

com.atlassian.utils.process.ProcessNotStartedException: powershell could not be started
...
java.io.IOException: Cannot run program "powershell"
...
java.io.IOException: CreateProcess error=2, The system cannot find the file specified

以MyDomain \\ MyUser登录到服务器,我检查过powershell在路径中:

where powershell
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

我试图重启服务并重启机器多次。 没运气。 唯一有效的是,如果我将脚本作为bat文件执行,其中包含powershell的绝对路径 - 但我不希望这样。

我已经在这方面寻找解决方案,但即使这个看起来很相关: 在更新到PowerShell 3之后Hudson找不到powershell - 提议的解决方案不起作用。

我在这里错过了什么?

如果您执行nodejs的默认安装,您将看到它将nodejs和npm添加到路径中。 有时我看到安装程序添加了一个名为PATH的用户变量 - 可能是Bamboo代理程序决定读取用户路径而不将其与系统路径“合并”。 我认为值得尝试一下。

根据Atlassian支持页面 ,这与Java Service Wrapper中的错误有关。 我尝试了Workaround-2,因为我的系统中没有用户PATH变量。 我不得不从代理机器卸载Bamboo代理服务和Java 64版本以应用解决方法-2。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM