1

我刚刚用 RStudio 安装了 DSX Desktop。我无法加载新的包,例如lubridate,并得到下面的错误。如果我检查包更新,我会收到消息“所有包都是最新的”,但下面的错误表明它需要更新版本的Rcpp.

installing to /user-home/_global_/R/lubridate/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
  namespace ‘Rcpp’ 0.12.9.2 is already loaded, but >= 0.12.13 is required
ERROR: lazy loading failed for package ‘lubridate’
* removing ‘/user-home/_global_/R/lubridate’
Warning in install.packages :
  installation of package ‘lubridate’ had non-zero exit status

The downloaded source packages are in
  ‘/tmp/RtmpIV4HWl/downloaded_packages’

我试过install.packages("Rcpp")返回消息:

Error in unloadNamespace(pkg_name) : 
  namespace ‘Rcpp’ is imported by ‘httpuv’, ‘reshape2’, ‘tidyr’, ‘bindrcpp’, ‘tibble’, ‘htmltools’, ‘dplyr’, ‘plyr’ so cannot be unloaded

如果我尝试remove.packages("Rcpp")或删除上面的包,我会收到以下消息,它们仍保留在 Packages 视图中。

Removing package from ‘/user-home/_global_/R’
(as ‘lib’ is unspecified)
Error in remove.packages : there is no package called ‘Rcpp’

请对如何进行有任何建议?

4

2 回答 2

0

我收到此错误: Windows 7,update.packages 问题:“无法移动临时安装”?我认为这是由于我的防病毒软件,但不确定。MRAN 版本是 3.3.1,这是我每次打开 R-Studio 并需要安装时修复此错误的方法:

trace(utils:::unpackPkgZip, edit=TRUE)
# Edit line 142 - change Sys.sleep(2.5)

我仍然遇到 tidyverse 的版本控制问题,所以环顾四周并决定安装来自 Microsoft 的最新 MRAN,它解决了我所有的 R-Studio 版本控制问题和安装问题。我在工作时遇到了其他问题。

版本信息:

Microsoft R Open 3.5.1
The enhanced R distribution from Microsoft
Default CRAN mirror snapshot taken on 2018-08-01.

下载 Microsoft R Open 3.5.1

于 2019-02-28T23:49:43.273 回答
0

RStudio 似乎存在一个根本问题。我遇到了与您在最新版本(1.1.442)中描述的完全相同的问题。问题是:

  1. 被视为过期的软件包在安装时会进入循环,并出现重复的错误对话框。
  2. 包版本检查是指过时的包,不会安装 CRAN 上显示的当前包版本。这是由于 RStudio 指向具有旧更新的 MRAN 镜像。这意味着存储在那里的所有包都已过期。您可以在此处查看MRAN 上的软件包上次更新的时间。
  3. 删除其他包(例如依赖项)不能正常工作,手动删除文件夹也不能解决问题。

Tools , Global options , Packages中可以指定用于包管理的镜像。这似乎不起作用。

我通过进入 R 并在其中执行包更新来解决我的问题。RStudio 现在使用更新的包。

我已经就此联系了 RStudio,并收到了他们不提供 RStudio 免费版本支持的回复。

tl;dr:RStudio 似乎无法更新软件包。使用 R 本身进行更新。

于 2018-03-13T22:14:57.333 回答