ProcessBuilder不使用路径环境

时间:2020-10-01 13:10:35

标签: java npm amazon-ec2 jenkins-pipeline processbuilder

我的Jenkins管道在ec2机器上启动了Java程序。在此程序中,我尝试使用 ProcessBuilder 调用 npm install ,如下所示。

ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash","-c", command)
Map<String, String> env = processBuilder.environment()
env.put("PATH", envPath)

envPath是我在 / home /.../ bin 中的npm目录,命令是 NPM INSTALL 。它在本地计算机上运行,​​没有错误。 但是,当程序在ec2上通过管道调用时,它会给出 / bin / bash:npm:命令未找到错误。

ProcessBuilder.environment()在运行时的一些详细信息:

[PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/home/ec2-user/.nvm/versions/node/v14.11.0/bin, USER:jenkins

这是怎么了?

谢谢您的帮助。

0 个答案:

没有答案