r - R:更新 R 或 RStudio 后更新或安装包的许多问题
问题描述
当我进行 R 或 RStudio 更新时,我遇到了一系列问题。在更新后的接下来的几个会话中,我遇到了很多这些问题。这些信息中的问题是否明显?如果不是,我该如何诊断?
问题有以下几种形式:
- 我的 R 库中存在的包将错误视为缺失。大多数情况下,这些是
tidyverse
包。 - tidyverse 的某些依赖项没有安装,尤其是
stringi
. 类似的问题发生的频率较低Hmisc
。 - 软件包已正确下载,但我收到一条错误消息,指出无法删除旧版本。如果我删除手动指示的软件包并单独安装它们,这些错误就会消失。
如果我尝试使用 更新
tidyverse
, 我会遇到类似的问题tidyverse_update
,例如:tidyverse::tidyverse_update(recursive = TRUE) loadNamespace 中的错误(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]): 没有调用包'阅读器'</p>
尽管实际上存在 readr 包。
我刚刚收到一条关于尝试单独安装 readr 的新错误消息:
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
解决方案
我发现,如果我执行以下操作,这些问题中的大多数(尽管不是全部)都会消失:
- 确保我只打开了一个 R 实例。
- 将R 和 RStudio都设置为以管理员身份运行。
这有点棘手,因为正在运行的 RI 的实例化通常由 RStudio 打开,而不是由我打开。对于 RStudio 和 R,右键单击桌面或开始菜单上的快捷方式。在快捷方式选项卡上,选择高级。然后选中以管理员身份运行复选框。我还允许其他程序修改程序文件中的 R 目录,尽管我不确定这是否必要。右键单击,属性,安全选项卡,选择所有应用程序包,单击编辑,选中完全控制。
- 将 R 文件夹本身及其所有子文件夹设置为共享。(请注意,如果您在共享计算机上,这会产生安全风险)。右键单击 R 目录——通常是“我的文档”文件夹中的那个,而不是 Program Files 中的那个——然后在共享选项卡下,点击共享。
在完成这些事情后仍然存在的问题中,大多数似乎是由存储库副本的问题引起的,通常是短期的。这些问题不仅会干扰损坏的(或其他)包,还会干扰它的依赖关系。手动删除问题包的文件夹,重新启动 R,然后在加载任何包之前切换到不同的存储库。然后照常安装
推荐阅读
- laravel - 未定义索引:当 JWT 使用手机号码作为凭据进行身份验证时,EloquentUserProvider.php 第 126 行中的密码
- c# - 无法从 HoloLens 连接到本地服务器 (XAMPP)
- c++ - 在 .h 文件中定义模板,与在 .h 文件中声明并在 .cpp 文件中定义
- firebase - Firebase Cloud Functions:无法传递从实时数据库检索到的令牌
- php - 为什么我不能得到 yearly_revenue 的错误值
- wpf - OxyPlot XAML 未知系列计数
- angular - Angular 7:延迟加载 WebWorkers 导致 ng serve 在第一次重新加载时崩溃
- python-3.x - 将matplotlib图表直接导出到Excel?不先保存到文件
- r - 在 R 中列出与大 CSV 的连接
- .htaccess - 将 301 国家/地区子文件夹重定向到首页