对于我的公司,我们在内部托管位置拥有内部创建的包的存储库。我们在网络上时可以访问它,但在我们关闭它时无法访问。
我们有一个强制标准和配置的内部包,并包含一个在项目,用户或系统级别构建内部配置文件的功能(因此我们可以快速配置他们的系统以从CRAN和本地选择包以及其他设置的数量)
生成的.Rprofile包含(其中包括)以下内容:
repos <- getOption('repos')
repos["cloud"] <- "https://cloud.r-project.org"
repos['internal'] <- 'http://path/to/repo/'
options(repos = repos)
当我们进入网络时,这很有用,但在网络之外,install.packages
仍会检查内部回购(无论回购顺序如何)。
这导致很长时间等待超时。
我试图找到一种方法:
有条件地包含回购
减少install.packages的超时
options(timeout = 10)
似乎无效。
如果它会很快确定回购不可用,我认为不会有太多的用户体验下降,但正如现在所说,最后将需要2-3分钟拒绝回购。
编辑:所有其他条件相同,设置上述选项应重现超时问题,除非存在http://path/to/repo
。
但如果这是options(timeout = X)
的平台问题,这是我的会话信息:
> sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-apple-darwin16.4.0 (64-bit)
Running under: macOS Sierra 10.12.3
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
loaded via a namespace (and not attached):
[1] tools_3.3.3