如何以 root 用户身份使用 asdf?

fva*_*arj 4 asdf-vm

我需要以特权权限读取一些硬件数据,因此需要以root身份使用asdf插件。我怎样才能做到这一点?

我尝试启动 root 用户sudo su,但无法访问 asdf

Sha*_*mes 10

长话短说:sudo -E su

问题是sudo默认情况下不保留(大多数)环境变量。对于asdf,环境变量ASDF_CONFIG_FILEASDF_DATA_DIR、 和ASDF_DIR都很重要,还有常见的变量,例如PATH

幸运的是,我们可以指示sudo保留所有环境变量。从man sudo

-E, --preserve-env

向安全策略表明用户希望保留其现有的环境变量。如果用户没有保护环境的权限,安全策略可能会返回错误。


资源:

  • 对我不起作用,也许这个答案已经过时了?像“npm”这样的命令仍然无法通过这种方式找到。 (3认同)