包括间歇性可用的repo:install.packages timeout

时间:2017-03-26 23:36:18

标签: r

对于我的公司,我们在内部托管位置拥有内部创建的包的存储库。我们在网络上时可以访问它,但在我们关闭它时无法访问。

我们有一个强制标准和配置的内部包,并包含一个在项目,用户或系统级别构建内部配置文件的功能(因此我们可以快速配置他们的系统以从CRAN和本地选择包以及其他设置的数量)

生成的.Rprofile包含(其中包括)以下内容:

repos <- getOption('repos')
repos["cloud"] <- "https://cloud.r-project.org"
repos['internal'] <- 'http://path/to/repo/'
options(repos = repos)

当我们进入网络时,这很有用,但在网络之外,install.packages仍会检查内部回购(无论回购顺序如何)。

这导致很长时间等待超时。

我试图找到一种方法:

  1. 有条件地包含回购

  2. 减少install.packages的超时

  3. 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
    

0 个答案:

没有答案