竹子-“找不到ng命令”

时间:2018-08-29 11:23:38

标签: angular-cli bamboo

我最近安装了可与Bamboo(Linux)一起使用的Angular-CLI。我已经验证了它可以在终端上运行,因此我在Bamboo中做了一个脚本任务,它有一个命令:“ ng build”。但是每次,日志都会显示错误“ ng:not found”。
这可能是什么原因?该软件包已全局安装,如果有任何区别,可与NPM链接,我已重新安装并验证了缓存,并已将其路径定义为Bamboo中的可执行文件(命令类型,因为Bamboo显然不支持Angular?)。我已经确保以竹子linux用户的身份检查命令,并且该命令在这里有效!但是出于某些原因,Bamboo本身看不到它。哦,按照建议,我正在使用@angular/cli
坦白说,我很困惑。任何帮助将不胜感激,我已经坚持了好一阵子。

3 个答案:

答案 0 :(得分:0)

嗯,很奇怪……您能发布您的脚本配置(例如您为解释器(例如Shell)和脚本位置(例如内联)选择的内容)吗?您可以执行的一种选择是添加可执行文件(Bamboo Administration \ Executables)并创建type命令的可执行文件(在其中必须指定命令的路径),然后可以通过添加Task类型来使用此可执行文件命令您的计划。

答案 1 :(得分:0)

我通过使用

发现了一种解决方法
npm run ng build ...

在脚本中,但是我更希望Angular CLI可以工作。

答案 2 :(得分:0)

Bamboo代理作为服务启动时,它不一定具有与在终端上键入PATH时相同的ng变量。特别是在Windows上,该工具上有一个long standing bug,它启动了Bamboo代理服务,并已在Bamboo> = 6.10中解决。

为了了解正在发生的事情,只需在您的工作中添加一个脚本任务(用于测试),以进行测试,

echo "Printing PATH"
echo $PATH
which ng
echo "End printing PATH"

在日志中,您肯定会看到打印的PATH与终端中打印的export PATH=/path/to/ng:$PATH不同。

可能的解决方法是:

  • 在每个脚本中添加一些ng
  • ${bamboo.capability.system.builder.ng}添加为Bamboo中的全局可执行文件,并将其用作ng变量
  • 在启动代理的脚本中将路径添加到ng(在Windows上不容易工作)

请注意,template_folder='../templates/admin/'本身可能当然也需要找到其他程序才能正常运行。