Create an R package that depends on another R package located on GitHub

后端 未结 2 1644
無奈伤痛
無奈伤痛 2020-12-12 18:23

I am creating an R package on GitHub, LW1949, that depends on another R package on GitHub, jvamisc. When I try to install LW1949 using

require(devtools)
dev         


        
相关标签:
2条回答
  • 2020-12-12 18:43

    This question seems to have been answered quite recently, addressed in this issue of the devtools' github repository.


    Package developer POV:

    1. do:

      usethis::use_package("jvamisc")
      devtools::document()
      

    to add the dependency in the Imports field of your DESCRIPTION file.

    1. manually add a field "Remotes:" in the DESCRIPTION file, specifying where on github R should look for the package:

      #in DESCRIPTION
      Imports: ...,
        jvamisc,
        ...
      Remotes: JVAdams/jvamisc
      

    End-user POV:

    1. the end user has to have the latest development version of devtools (or at least the one corresponding to commit #f21ca3516c). You have to somehow 'force him' to update his devtools version (I guess just put this in the installation instructions... Can't think of a better way)

      devtools::install_github(“hadley/devtools”, ref = “f21ca3516c”)
      
    2. Restart the R Session on unload/reload the devtools package.

    3. do the usual install_github:

      require(devtools)
      devtools::install_github("user/LW1949")
      

    I guess this functionality will be added sooner or later to the CRAN version of devtools, so there will be no need for the user to fetch the dev version and he would go directly to step 3).


    The steps and additional options are detailed in this vignette.

    0 讨论(0)
  • 2020-12-12 18:57

    The actual solution seems to add in your DESCRIPTION file the line

    Remotes: hadley/testthat
    

    see the documentation of devtools :

    # Git
    Remotes: git::https://github.com/hadley/ggplot2.git
    
    # Bitbucket
    Remotes: bitbucket::sulab/mygene.r@default, dannavarro/lsr-package
    
    # Bioconductor
    Remotes: bioc::3.3/SummarizedExperiment#117513, bioc::release/Biobase
    
    # SVN
    Remotes: svn::https://github.com/hadley/stringr
    
    # URL
    Remotes: url::https://github.com/hadley/stringr/archive/master.zip
    
    # Local
    Remotes: local::/pkgs/testthat
    
    # Gitorious
    Remotes: gitorious::r-mpc-package/r-mpc-package
    
    0 讨论(0)
提交回复
热议问题