【发布时间】:2023-10-01 20:28:01
【问题描述】:
我正在学习 Yeoman 并且已经走得很远,这很好 :),但我现在正处于我的生成器中,我想为我的新项目设置一个 VHOST。
我通常创建 VHOST 的方式是在 /etc/apache2/sites-available/ 中创建一个 *.conf 文件,然后运行 sudo a2ensite new-site,最后运行 sudo service apache2 reload。
如何使用generator.spawnCommand()(或其他任何有效的方法)来运行我的 sudo 命令?我假设用户当然需要输入他的密码才能运行命令。
请注意,我已经尝试过 sudo npm 包,但即使使用 https://www.npmjs.com/package/sudo 上提供的示例代码,它也会静默失败
【问题讨论】:
-
我的猜测是 Yeoman 吞下了输出,这就是为什么你永远看不到密码提示的原因。您可以尝试按照此处所述在 /etc/sudoers 中设置您的帐户,这将启用“无密码”sudo:askubuntu.com/questions/470383/…
-
@TudorIlisoi 谢谢,但由于我不是唯一将使用此生成器的人,如果用户在使用它之前不必做任何特别的事情,我会更喜欢它。我正在考虑在最后给用户留下一条消息,说明要运行哪些命令来完成安装。
-
好吧,也许你可以试试
spawnCommandSync而不是spawnCommand并添加一些事件处理程序来检查结果github.com/yeoman/generator/issues/545
标签: linux apache npm yeoman sudo