我的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
这是怎么了?
谢谢您的帮助。