【问题标题】:On EC2: sudo pm2 ls command not found, but pm2 ls without sudo is ok在 EC2 上:找不到 sudo pm2 ls 命令,但是没有 sudo 的 pm2 ls 可以
【发布时间】:2021-09-07 08:23:57
【问题描述】:

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

当我在sudo -i 之后运行“pm2 ls”时,它会给出 -bash: pm2: command not found。

【问题讨论】:

    标签: node.js amazon-ec2 sudo pm2 amazon-linux


    【解决方案1】:

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

    你有几个选择:

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

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

    【讨论】: