WebStorm如何以root身份运行NodeJS以执行Shell命令?

3
如何在WebStorm IDE中以root权限运行node.js应用程序,以便让node.js运行Shell命令?
谢谢!
4个回答

6
最简单的方法是在以 root 权限运行 WebStorm 本身,父节点进程将继承这些特权。

嗨!感谢您抽出时间回答:D。还有其他方法可以做到这一点吗?即使不是最简单的方法也没关系;) - Diosney
1
有什么包装外壳脚本可以通过“sudo”运行原始的节点脚本,并修改系统sudoers,以便在运行此脚本时不要询问密码? - CrazyCoder

3
正如CrazyCoder所提到的,可以使用shell脚本来实现此操作。具体而言,脚本的内容类似于以下代码:
#!/bin/bash
sudo /path/to/node "$@"

此外,您需要运行sudo visudo并添加以下行:
username ALL=(ALL) NOPASSWD: /path/to/node

最后,需要将脚本的权限设置为可执行(chmod +x),并将脚本的路径指定为WebStorm中Node的路径。

0

[WS=WebStorm]

如果你想在WS中调试它,可以稍作改动:

要点:WS终端窗口+调试端口+远程调试配置

  1. 我正在使用nodemon,所以还想继续使用它
  2. 打开终端窗口(在WS内部:工具->打开终端...)
  3. 在终端中运行 sudo nodemon --debug=40155 --nolazy server.js(40155是稍后连接的调试端口,你也可以只运行 node 而不是 nodemon
  4. 按照这里所述创建一个远程调试配置,并将端口设置为40155
  5. 选择该调试配置并点击WS调试按钮
  6. 设置断点并获得利润 :)

然后非常容易回到WS终端窗口并重新运行服务器。


0
补充krisp的回答:您可能还想让从WS配置传递环境变量也能正常工作。
为此,请在脚本中像这样添加-Esudo
#!/bin/bash
sudo -E node "$@"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接