【问题标题】:Unable to install packages after R update: unable to access index for repository: internet routines cannot be loadedR更新后无法安装软件包:无法访问存储库的索引:无法加载互联网例程
【发布时间】:2020-08-16 17:07:57
【问题描述】:

我使用的是 RStudio,昨天我将 R 更新为以下版本:

R version 4.0.0 (2020-04-24) -- "Arbor Day"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

现在,我无法连接到任何 CRAN 镜像(我尝试了 4 个不同的镜像)或安装软件包。当我启动 RStudio 时,我在启动时收到以下错误:

Error in tools::startDynamicHelp() : internet routines cannot be loaded
Warning: namespace ‘lme4’ is not available and has been replaced
by .GlobalEnv when processing object ‘lmer1’
Warning: namespace ‘ggplot2’ is not available and has been replaced
by .GlobalEnv when processing object ‘plot1’
Warning: namespace ‘emmeans’ is not available and has been replaced
by .GlobalEnv when processing object ‘.Last.ref_grid’
Warning: namespace ‘pbkrtest’ is not available and has been replaced
by .GlobalEnv when processing object ‘.Last.ref_grid’
[Workspace loaded from C:/Users/xxx.RData]

Loading required package: lmerTest
Loading required package: lme4
Loading required package: Matrix
Error: package or namespace load failed for ‘lme4’:
 package ‘lme4’ was installed before R 4.0.0: please re-install it
Failed with error:  ‘package ‘lme4’ could not be loaded’

然后,当我尝试安装软件包时,我收到以下消息:

Installing package into ‘C:/Users/xxx/R/win-library/4.0’
(as ‘lib’ is unspecified)
Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/src/contrib:
  internet routines cannot be loaded
Warning in install.packages :
  package ‘Rtools’ is not available (for R version 4.0.0)
Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/bin/windows/contrib/4.0:
  internet routines cannot be loaded

我知道这些警告有多个线程,但我还没有找到任何解决此问题的方法。 我已经尝试过但没有奏效的事情:

  • 更改 CRAN 镜像设置 - 我尝试了 4 种不同的设置,这些镜像都可以正常工作,因为它可以在另一台计算机上运行
  • 重启程序
  • 重新启动计算机
  • 更改工具>全局选项>包中的设置以取消选中 https
  • 更新 RStudio(尽管这在 R 中也是一个问题)
  • 卸载并重新安装 R 4.0
  • 检查库路径 - 似乎正确
  • 将 Internet Explorer 设为默认浏览器
  • 运行命令options(repos='https://cran.rstudio.com/')
  • 运行命令行install.packages("package name", dependencies=TRUE, repos='http://cran.rstudio.com/')
  • 运行命令options(download.file.method="libcurl")
  • 运行命令Sys.getenv("LD_LIBRARY_PATH")

我的伙伴将 R 4.0 和 RStudio 下载到他的计算机上,并且运行良好。

有什么建议吗?我是 Stack Overflow 的新手,对 R 也很陌生,所以请尽可能提供分步说明/建议!

【问题讨论】:

  • 您是否检查过您的防病毒软件是否阻止了来自 RStudio 的连接?运行 httr::GET("cran.rstudio.com/") 并查看 Status 是否为 200。
  • 也尝试从cran.r-project.org/src/contrib/lmerTest_3.1-2.tar.gz下载包并从工具>安装包安装,将“安装自”更改为包存档文件并选择下载的包
  • 感谢@Mohanasundaram,菜鸟的正反斜线错误!
  • 该代码工作正常并且 lmerTest 加载正确,所以它看起来像一个连接问题
  • @Mohanasundaram 我也是!感谢您迄今为止的所有建议。我现在要离开办公桌,但我会在一天左右回来时查看任何进一步的回复。

标签: r repository install.packages


【解决方案1】:

我遇到了类似的问题。我在启动时收到以下错误

Error in tools::startDynamicHelp() : internet routines cannot be loaded

经过调查,我发现我的杀毒软件已经隔离R-4.0.0/modules/x64/internet.dll。不幸的是,我的防病毒设置受组策略控制,因此我无法禁用它们来申请解决方案。

【讨论】:

  • 是的,可以确认这是一个问题。作为目前的解决方案,对我有用的是使用以前 3.6.1 安装中的 x64 internet.dll 并将其复制到 R-4.0.0/modules/x64/ 或者,如果不需要 x64,则在 RStudio 中选择 x86
  • 复制 internet.dll 暂时解决了这个问题。谢谢
【解决方案2】:

因此,在打了 4 通电话并多次尝试解决此问题后,我所在机构的 IT 部门今天能够禁用阻止 R 和 R Studio 工作的防病毒块。

显然,为了以后避免这种情况,我需要从特定文件夹运行新程序。所以毕竟是防病毒软件,但我无法从我的角度更改设置,因为我有一台工作计算机。

【讨论】:

    【解决方案3】:

    我可以确认我的工作电脑中的 modules\x64\internet.dll 已被 symantec 隔离。这是主要问题。我会打电话给我的 IT 来修复和更新结果。

    【讨论】:

    • 不是赛门铁克,是protect cylance antivirus隔离它
    • 我的 IT 人员告诉我 internet.dll 是病毒,他们会去咨询 cylance 杀毒公司。我对他说我不这么认为。当我从 cylance 得到答案时,我会更新这个。干杯。
    • 我的 IT 人员让我使用 R 3.6.1,他相信它是干净的
    【解决方案4】:

    我通过简单地运行 [每次] 来解决这个问题:

    options(download.file.method="wget")

    【讨论】:

    • 这对我有用,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多