要在我的公司网络上的 RStudio 中安装软件包,我需要设置用于代理身份验证的系统
env
变量:
Sys.setenv(https_proxy_user = "userid:password")
Sys.setenv(https_proxy = "proxy.<my.domain>:8080")
这可行,但缺点是会在 R 脚本或我的
userid:password
中以完整的明文形式暴露我的 Windows .RProfile
。
此外,如果我更改 Windows 登录名,我必须调整脚本。
是否可以告诉 RStudio/R 直接使用我的 Windows 凭据进行代理身份验证,例如这可以在 C# 中完成?
System.Net.CredentialCache.DefaultCredentials;
使用
keyring
存储加密凭据似乎不是一个选项,因为每次更改 Windows 用户密码时我都需要手动更新这些凭据。
[编辑] 由于尚未找到解决方案,我打开了 RStudio 增强请求
打开RStudio增强请求后,我得到了以下来自@kevinushey的回答:
不幸的是,它已被弃用,但使用它可能会有更好的运气
在 Windows 上。
options(download.file.method = "wininet")
事实证明这仍然有效,并且正是我正在寻找的:
options(download.file.method = "wininet")
在 Windows 下使用
R 4.3.1
,允许我从 Rstudio 菜单使用软件包更新/安装,而无需指定 https_proxy
并暴露我的用户凭据。