我是dshell dart软件包的作者,该工具和工具用于使用dart构建cli应用程序/脚本。
https://pub.dev/packages/dshell
我正在研究dshell应该如何与sudo交互。
我遇到的第一个问题是如何处理路径。
如果我通过发布会激活全局dshell,则dart会安装dshell及其可执行文件,以便它们位于当前用户的linux路径上。
这很好,直到您尝试使用sudo运行dshell脚本。
例如
sudo dshell main.dart。
sudo命令实质上将用户更改为root用户。这样,PATH变量会发生变化,HOME var会发生变化。结果是dart和dshell路径不再在路径上。
是否存在将dart程序包放在全局路径上的最佳实践,以便root用户和其他用户可以使用它(及其依赖项)?