【问题标题】:Fail to build package when trying to install vignettes with install_github [R]尝试使用 install_github [R] 安装小插图时无法构建包
【发布时间】:2015-11-24 00:48:39
【问题描述】:

默认情况下,当在 R 中使用 devtools 包中的 install_github 函数时,不会构建已安装包的小插曲。我已经看到了这个问题的答案,它显示了如果一个人愿意,如何构建小插曲 Building R package from github: how to disable building vignettes?.

我用such vignettes 写了一个包,但是我收到一个错误,像这样直接从 github 安装:

> devtools::install_github("MarcinKosinski/RTCGA")
Downloading github repo MarcinKosinski/RTCGA@master
Installing RTCGA
'/usr/lib/R/bin/R' --vanilla CMD INSTALL  \
  '/tmp/RtmpCIboSY/devtools17de96523e5/MarcinKosinski-RTCGA-e47bdf6'  \
  --library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2'  \
  --install-tests 

* installing *source* package ‘RTCGA’ ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (RTCGA)
> browseVignettes("RTCGA")
No vignettes found by browseVignettes("RTCGA")
> ?devtools::install_github
> devtools::install_github("MarcinKosinski/RTCGA", build_vignettes= TRUE)
Downloading github repo MarcinKosinski/RTCGA@master
Installing RTCGA
'/usr/lib/R/bin/R' --vanilla CMD build  \
  '/tmp/RtmpCIboSY/devtools17de1905fc71/MarcinKosinski-RTCGA-e47bdf6'  \
  --no-resave-data --no-manual 

* checking for file ‘/tmp/RtmpCIboSY/devtools17de1905fc71/MarcinKosinski-RTCGA-e47bdf6/DESCRIPTION’ ... OK
* preparing ‘RTCGA’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
Removed empty directory ‘RTCGA/ghPage’
Removed empty directory ‘RTCGA/inst’
* building ‘RTCGA_0.99.6.tar.gz’

'/usr/lib/R/bin/R' --vanilla CMD INSTALL  \
  '/tmp/RtmpCIboSY/RTCGA_0.99.6.tar.gz'  \
  --library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2'  \
  --install-tests 

* installing *source* package ‘RTCGA’ ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
Warning in file(con, "w") :
  cannot open file '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA/doc/index.html': No such file or directory
Error in file(con, "w") : cannot open the connection
ERROR: installing vignettes failed
* removing ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
* restoring previous ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
Error: Command failed (1)

当我从本地源构建包时,没有错误。有谁知道这可能是什么原因?

【问题讨论】:

    标签: r devtools


    【解决方案1】:

    我需要添加

    .onLoad <- function(libname, pkgname) {
        vig_list = tools::vignetteEngine(package = 'knitr')
        vweave <- vig_list[['knitr::knitr']][c('weave')][[1]]
        vtangle <- vig_list[['knitr::knitr']][c('tangle')][[1]]
        tools::vignetteEngine(pkgname, weave = vweave, tangle = vtangle,
                              pattern = "[.]Rmd$", package = pkgname)
        #register_vignette_engines(pkgname)
    }
    

    这个函数到R/目录中的zzz.R文件和knitr包到DESCRIPTION文件中的Dependencies。

    【讨论】:

    • 感谢您发布您的答案。不过,您从哪里获得该代码 sn-p?
    • 我其实不记得了。但我想我查看了一个聪明的人的存储库,为他工作并从中复制了它。我想我看过 github.com/hadley/dplyr
    • 它对我不起作用!我把它放在一个misc.R 文件中,该文件具有所有.onAttach 和其他功能。是否必须将其放入zzz.R
    猜你喜欢
    • 2019-11-13
    • 1970-01-01
    • 2021-05-27
    • 2019-04-04
    • 2015-08-16
    • 2018-05-02
    • 1970-01-01
    • 2021-06-25
    • 2018-06-18
    相关资源
    最近更新 更多