我正在尝试运行以下命令:
sudo git pull;
我收到以下错误:
Command failed: sudo: sorry, you must have a tty to run sudo
该命令正在使用child_process
和从 nodejs 服务器运行exec
。
我查看了其他问题和网站,尝试解决此错误,但没有任何解决方案(即编辑/etc/sudoers
和使用ssh -t
)有效。
我没有 root 访问权限,因此在命令中使用 sudo。
我正在运行一个基本的 Amazon EC2 Linux 64 位实例。
答案1
检查你的 sudoers 文件(或让管理员验证)。它包含以下内容:
Default requiretty
(默认也可以只是一个组,更容易搜索 requiretty)
快捷简单的方法是将其注释掉,这样可以解决该问题。您也可以使用 !requiretty 为特定命令进行设置。
您还可以尝试使用 --session-command 调用 sudo 来解决这个问题