繁体   English   中英

R:在更新R或RStudio之后更新或安装软件包存在许多问题

[英]R: Many problems with updates or installation of packages after updating R or RStudio

我在进行R或RStudio更新时遇到了很多问题。 更新后的接下来的几个会议中,我遇到了很多这些问题。 在此信息上问题是否明显? 如果没有,我该如何诊断?

问题采用以下形式:

  1. 我的R库中存在的软件包会给出错误,提示缺少。 最常见的是这些tidyverse软件包。
  2. 未安装tidyverse的某些依赖项,尤其是stringi Hmisc很少发生类似的问题。
  3. 软件包已正确下载,但出现错误,指出无法删除旧版本。 如果我手动取出包装并单独安装,这些错误将消失。
  4. 如果尝试使用tidyverse_update更新tidyversetidyverse_update遇到类似的问题,例如:

    tidyverse :: tidyverse_update(recursive = TRUE)loadNamespace(j <-i [[1L]],c(lib.loc,.libPaths()),versionCheck = vI [[j]])中的错误:没有称为'readr'

尽管实际上存在阅读器包。

  1. 我现在收到有关尝试单独安装阅读器的新错误消息:

    install.packages中的警告:lzma解码结果10 install.packages中的警告:无法访问存储库https://cran.case.edu/bin/windows/contrib/3.5的索引:以'Pac ...'开头的行格式错误!

再试一次:

Error in install.packages : invalid version specification ‘NA’

我通常以update.packages(ask=FALSE)开始会话。 我已将RStudio设置为始终以管理员身份运行。 如果询问,我通常从二进制文件而不是源文件进行安装。

我使用以下功能安装和加载软件包组:

# Install packages (if not already installed)
in_packs <- function(packs){
  new_packs <- packs[!(packs %in% installed.packages()[,"Package"])]
  if(length(new_packs) < 1) print("Already installed.") else {
    install.packages(new_packs, dependencies = TRUE,      # move to fairR_fns 
                        repos=c("https://cran.case.edu/",
                                "https://cran.rstudio.com"))

# Load packages (if not already installed)
load_pks <- function(pks){
  invisible(sapply(X = pks[seq_along(pks)], FUN = library, character.only = TRUE))
}

这是我的会议信息。

R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0       lubridate_1.7.4  lattice_0.20-38  tidyr_0.8.2     
 [5] assertthat_0.2.0 digest_0.6.18    R6_2.3.0         plyr_1.8.4      
 [9] backports_1.1.3  httr_1.4.0       ggplot2_3.1.0    pillar_1.3.1    
[13] rlang_0.3.0.1    lazyeval_0.2.1   stringr_1.3.1    munsell_0.5.0   
[17] broom_0.5.1      compiler_3.5.1   modelr_0.1.2     pkgconfig_2.0.2 
[21] tidyselect_0.2.5 tibble_1.4.2     crayon_1.3.4     dplyr_0.7.8     
[25] grid_3.5.1       nlme_3.1-137     jsonlite_1.6     gtable_0.2.0    
[29] magrittr_1.5     scales_1.0.0     cli_1.0.1        stringi_1.2.4   
[33] bindrcpp_0.2.2   generics_0.0.2   tools_3.5.1      forcats_0.3.0   
[37] glue_1.3.0       purrr_0.2.5      hms_0.4.2        yaml_2.2.0      
[41] colorspace_1.3-2 memoise_1.1.0    bindr_0.1.1      haven_2.0.0     

我发现如果执行以下操作,大多数(尽管不是全部)问题都会消失:

  1. 确保仅打开一个R实例。
  2. 建立R和RStudio以管理员身份运行。

这有点棘手,因为正在运行RI的实例化通常是由RStudio打开的,而不是我打开的。 对于RStudio和R,在桌面或开始菜单上的快捷方式上单击鼠标右键。 在快捷方式选项卡上,选择高级。 然后选中以管理员身份运行的框。 我也允许其他程序修改程序文件中的R目录,尽管我不确定这是否必要。 右键单击属性,在“安全性”选项卡上,选择“所有应用程序包”,单击“编辑”,然后选中“完全控制”。

  1. 将R文件夹本身及其所有子文件夹设置为共享。 (请注意,如果您在共享计算机上,这会带来安全风险)。 右键单击R目录(通常是“我的文档”文件夹中的目录,而不是程序文件中的目录),然后在共享选项卡下,单击共享。

完成这些操作后仍然存在的问题中,大多数似乎通常是由短期的存储库副本问题引起的。 这样的问题不仅会打乱损坏的(或其他)程序包,而且还会打扰其依赖性。 手动删除问题软件包的文件夹,重新启动R,然后在加载任何软件包之前切换到其他存储库。 然后照常安装

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM