2016-08-23 46 views
0

我尝试测试在Ubuntu 16.04上使用Windows 7开发的软件包。对于我在R 3.3.1上工作的两个平台(但我也在3.3.0上测试)。R cran无法从devtools的install_github中递归地安装依赖关系

我的软件包保存在我的GitHub仓库(https://github.com/charlottesirot/elementR)。当我从Ubuntu的运行此命令,没有问题的发生:

library(devtools) 
    install_github("charlottesirot/elementR", dependencies = T , force = T) 

但随着Windows 7的,我有以下的回答:

Downloading GitHub repo charlottesirot/[email protected] from URL https://api.github.com/repos/charlottesirot/elementR/zipball/master Installing elementR "C:/PROGRA~1/R/R-33~1.1/bin/i386/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD \ INSTALL \ "C:/Users/Cha/AppData/Local/Temp/RtmpUX1GVA/devtoolsa907a336b/charlottesirot-elementR-103e064" \ --library="C:/Users/Cha/Documents/R/win-library/3.3" --install-tests

  • installing source package 'elementR' ... ** R ** inst ** preparing package for lazy loading Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : there is no package called 'XML' ERROR: lazy loading failed for package 'elementR'
  • removing 'C:/Users/Cha/Documents/R/win-library/3.3/elementR' Error: Command failed (1)

据我了解,R试图安装我的包的依赖关系(例如Shiny ...),但它无法安装依赖关系的依赖关系(例如,来自gnumeric包的XML)

因此,我尝试手动安装XML思想,可能是XML存在问题,然后:

  • installing source package 'elementR' ... ** R ** inst ** preparing package for lazy loading Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : there is no package called 'gtools' ERROR: lazy loading failed for package 'elementR'
  • removing 'C:/Users/Cha/Documents/R/win-library/3.3/elementR'

我不能手动安装所有的软件包,它没有任何意义!

而且当我尝试比我少包东西神秘,以为我能在我的代码makea错误:

install_github("hadley/ggplot2", force = T) 
  • 安装包 'GGPLOT2' ...... ** [R ** data ***将数据集移动到lazyload DB ** inst **测试 **为延迟加载准备软件包loadNamespace(i,c(lib.loc,.libPaths()),versionCheck = vI [ [i]]):没有包所谓 'assertthat' ERROR:迟缓装载失败包 'GGPLOT2'
  • 除去 'C:/Users/Cha/Documents/R/win-library/3.3/ggplot2'
  • 恢复之前的“C:/用户/查/Documents/R/win-library/3.3/ggplot2' 错误:命令失败(1 )

我觉得这是从install_github问题??? 你觉得呢?

这里是我的命名空间:

exportPattern("^[[:alpha:]]+") 

importFrom(R6, R6Class) 
importFrom(shinyjs, colourInput) 
importFrom(shinyjs, delay) 
importFrom(shinyjs, useShinyjs) 
importFrom(gnumeric, read.gnumeric.sheet) 
importFrom(abind, abind) 
importFrom(tcltk2, tk2text) 
importFrom(gdata, read.xls) 
importFrom("readODS", read.ods) 
importFrom("grDevices", "bmp", "colorRampPalette", "dev.off", "jpeg", 
      "png", "rainbow", "tiff") 
importFrom("graphics", "abline", "layout", "legend", "mtext", "par", 
      "plot", "points", "rect", "text", "title") 
importFrom("stats", "sd") 
importFrom("utils", "read.table", "write.csv", "write.table") 

import(shinydashboard, shiny, stringr, lmtest, reader, devtools, tcltk) 

对于我来说,它看起来不错,但你觉得呢?

我看了网上很多文章,但我只找到一个消息,这正好是比我情况一样的,但它是不够的信息: Cannot install "flexdashboard package"

我完全停留在这一点上,我会喜欢在这个问题上有你的帮助。

谢谢verrrrrry提前!

CHa

回答

1

最近,我遇到了类似的问题或可能是相关的问题。事实证明,devtools install_github中存在一个错误,尽管dependecies=TRUE错过了正确的依赖关系安装。看看:Does install_github recursively install dependencies?如果问题仍然存在,最好直接通过他们的github存储库联系作者。

另外,我只是观察后Windows更新,在此期间,权限似乎已经改变下载或更新程序包为个人赢得用户的库,而不是“默认” R库文件夹中出现的另一问题。我怀疑devtools似乎因此丢失了哪些软件包在哪个版本上被加载或可用。新的R重新安装(即库文件夹清理)解决了这个问题,但这可能并不总是方便的。

+0

这是有用的信息,但我认为这意味着问题应该作为链接问题的重复来关闭? –

+0

取决于它是否提供解决方案;它至少可以链接?对于被标记为重复的问题,我有一些负面的经历,最终没有重复,但因此没有得到答复。 – martin

+0

我同意。根据他们的个人资料,这个问题的OP是“最后一次在8月29日出现”,所以我们可能永远不会发现... –