Node.js WebStorm如何以root用户身份运行nodejs来执行shell命令?
如何使用root权限通过WebStorm IDE运行node.js应用程序,以便让node.js运行shell命令Node.js WebStorm如何以root用户身份运行nodejs来执行shell命令?,node.js,sudo,webstorm,Node.js,Sudo,Webstorm,如何使用root权限通过WebStorm IDE运行node.js应用程序,以便让node.js运行shell命令 提前谢谢 最简单的方法是使用root运行WebStorm本身,父节点进程将继承特权。正如CrazyCoder所提到的,可以使用shell脚本来实现这一点。要详细说明,脚本将如下所示: !/bin/bash sudo/path/to/node$@ 此外,还需要运行sudo visudo并添加以下行: username ALL=(ALL) NOPASSWD: /path/to/node
提前谢谢 最简单的方法是使用root运行WebStorm本身,父节点进程将继承特权。正如CrazyCoder所提到的,可以使用shell脚本来实现这一点。要详细说明,脚本将如下所示: !/bin/bash sudo/path/to/node$@ 此外,还需要运行sudo visudo并添加以下行:
username ALL=(ALL) NOPASSWD: /path/to/node
最后,需要chmod+x脚本,然后将脚本的路径指定为WebStorm中节点的路径 [WS=WebStorm]
如果您还想在WS中调试它,可以添加一个小的变体/补充:
不以root用户身份运行WS:
要点:WS终端窗口+调试端口+远程调试配置
我用的是nodemon,所以我还是想用它
在WS:Tools->Open terminal.内打开终端窗口。。
在终端运行sudo nodemon-debug=40155-nolazy server.js 40155是稍后要连接的调试端口,您可以只运行node而不是nodemon
按照说明在WS中创建远程调试配置,并将端口设置为40155
选择调试配置并点击WS-debug按钮
设置断点和利润:
然后很容易返回WS-terminal窗口并重新运行服务器。补充krisp的答案:您可能还希望将环境变量从WS-configuration传递到工作状态 要做到这一点,请在scipt中向sudo添加-E,如下所示
#!/bin/bash
sudo -E node "$@"
你好感谢您花时间回答:D。还有其他方法吗?不管是不是最容易;一种包装器外壳脚本,它将通过sudo运行原始节点脚本,并修改系统sudoers,以便在运行此脚本时不要求输入密码?