在 EC2 上:找不到 sudo pm2 ls 命令,但是没有 sudo 的 pm2 ls 是可以的

On EC2: sudo pm2 ls command not found, but pm2 ls without sudo is ok

问题:当我在 ec2-user 下 运行 "pm2 ls" 时,它 运行 完美。

当我在 sudo -i 之后 运行 "pm2 ls" 时,它给出 -bash: pm2: command not found.

出于安全原因,sudo 通常在不同的环境下运行。例如,管理员可以将 sudo 配置为使用安全 PATH 而不是继承调用者的 PATH。

你有几个选择:

  1. 使用 --preserve-env 保留调用者的路径,例如sudo -E "PATH=$PATH" env.
  2. 修改 sudoers 策略以将 PATH 设置为包含 pm2 的父目录。
  3. 将 pm2 移至安全路径中已有的目录。

最后,你可以重新考虑pm2是否真的需要root权限