Skip to content

install_github() fails with blogdown #309

Closed
@kevinushey

Description

@kevinushey
remotes::install_github("rstudio/blogdown")
#> Downloading GitHub repo rstudio/blogdown@master
#> Error in FUN(X[[i]], ...): is.remote(remote) is not TRUE

Created on 2019-03-10 by the reprex package (v0.2.1)

Session info
devtools::session_info()
#> ─ Session info ──────────────────────────────────────────────────────────
#>  setting  value                                      
#>  version  R version 3.5.2 Patched (2019-01-14 r75994)
#>  os       macOS Mojave 10.14.3                       
#>  system   x86_64, darwin15.6.0                       
#>  ui       X11                                        
#>  language (EN)                                       
#>  collate  en_US.UTF-8                                
#>  ctype    en_US.UTF-8                                
#>  tz       America/Los_Angeles                        
#>  date     2019-03-10                                 
#> 
#> ─ Packages ──────────────────────────────────────────────────────────────
#>  package     * version    date       lib source                        
#>  assertthat    0.2.0      2017-04-11 [1] CRAN (R 3.5.0)                
#>  backports     1.1.3      2018-12-14 [1] CRAN (R 3.5.0)                
#>  callr         3.1.1      2018-12-21 [1] CRAN (R 3.5.0)                
#>  cli           1.0.1      2018-09-25 [1] CRAN (R 3.5.0)                
#>  crayon        1.3.4      2017-09-16 [1] CRAN (R 3.5.0)                
#>  curl          3.3        2019-01-10 [1] CRAN (R 3.5.2)                
#>  desc          1.2.0      2018-05-01 [1] CRAN (R 3.5.0)                
#>  devtools      2.0.1      2018-10-26 [1] CRAN (R 3.5.2)                
#>  digest        0.6.18     2018-10-10 [1] CRAN (R 3.5.0)                
#>  evaluate      0.13       2019-02-12 [1] CRAN (R 3.5.2)                
#>  fs            1.2.6      2018-08-23 [1] CRAN (R 3.5.0)                
#>  glue          1.3.0      2018-07-17 [1] CRAN (R 3.5.0)                
#>  highr         0.7        2018-06-09 [1] standard (@0.7)               
#>  htmltools     0.3.6      2017-04-28 [1] standard (@0.3.6)             
#>  knitr         1.22       2019-03-08 [1] CRAN (R 3.5.2)                
#>  magrittr      1.5        2014-11-22 [1] CRAN (R 3.5.0)                
#>  memoise       1.1.0      2017-04-21 [1] CRAN (R 3.5.0)                
#>  pkgbuild      1.0.2      2018-10-16 [1] CRAN (R 3.5.0)                
#>  pkgload       1.0.2      2018-10-29 [1] CRAN (R 3.5.0)                
#>  prettyunits   1.0.2      2015-07-13 [1] CRAN (R 3.5.0)                
#>  processx      3.3.0      2019-03-10 [1] CRAN (R 3.5.2)                
#>  ps            1.3.0      2018-12-21 [1] CRAN (R 3.5.0)                
#>  R6            2.4.0      2019-02-14 [1] CRAN (R 3.5.2)                
#>  Rcpp          1.0.0      2018-11-07 [1] CRAN (R 3.5.0)                
#>  remotes       2.0.2.9000 2019-03-11 [1] Github (r-lib/remotes@6212345)
#>  rlang         0.3.1      2019-01-08 [1] CRAN (R 3.5.2)                
#>  rmarkdown     1.11       2018-12-08 [1] standard (@1.11)              
#>  rprojroot     1.3-2      2018-01-03 [1] CRAN (R 3.5.0)                
#>  sessioninfo   1.1.1      2018-11-05 [1] CRAN (R 3.5.0)                
#>  stringi       1.3.1      2019-02-13 [1] CRAN (R 3.5.2)                
#>  stringr       1.4.0      2019-02-10 [1] CRAN (R 3.5.2)                
#>  testthat      2.0.1      2018-10-13 [1] standard (@2.0.1)             
#>  usethis       1.4.0      2018-08-14 [1] CRAN (R 3.5.0)                
#>  withr         2.1.2      2018-03-15 [1] CRAN (R 3.5.0)                
#>  xfun          0.5        2019-02-20 [1] CRAN (R 3.5.2)                
#>  yaml          2.2.0      2018-07-25 [1] standard (@2.2.0)             
#> 
#> [1] /Users/kevin/Library/R/3.5/library
#> [2] /Library/Frameworks/R.framework/Versions/3.5/Resources/library

Looks like things are failing while attempting to update some other packages:

> remotes::install_github("rstudio/blogdown")
Downloading GitHub repo rstudio/blogdown@master
Error in FUN(X[[i]], ...) : is.remote(remote) is not TRUE

Enter a frame number, or 0 to exit   

 1: remotes::install_github("rstudio/blogdown")
 2: install_remotes(remotes, auth_token = auth_token, host = host, dependencies = dependencies, upgrade = upgrade,
 3: vapply(remotes, install_remote, ..., FUN.VALUE = character(1))
 4: FUN(X[[i]], ...)
 5: install(source, dependencies = dependencies, upgrade = upgrade, force = force, quiet = quiet, build = build, b
 6: install_deps(pkgdir, dependencies = dependencies, quiet = quiet, build = build, build_opts = build_opts, upgra
 7: update(packages, dependencies = dep_deps, quiet = quiet, upgrade = upgrade, build = build, build_opts = build_
 8: update.package_deps(packages, dependencies = dep_deps, quiet = quiet, upgrade = upgrade, build = build, build_
 9: install_remotes(object$remote[!object$is_cran & behind], dependencies = dependencies, upgrade = upgrade, force
10: vapply(remotes, install_remote, ..., FUN.VALUE = character(1))
11: FUN(X[[i]], ...)
12: stopifnot(is.remote(remote))

Looks like this is caused by NULL entries sneaking into the set of package dependencies:

> str(remotes::package_deps("rmarkdown"))
Classes 'package_deps' and 'data.frame':	18 obs. of  6 variables:
 $ package  : chr  "base64enc" "digest" "evaluate" "glue" ...
 $ installed: chr  "0.1-3" "0.6.18" "0.13" "1.3.0" ...
 $ available: chr  "0.1-3" "0.6.18" "0.13" "1.3.0" ...
 $ diff     : int  0 0 0 0 0 0 0 0 0 0 ...
 $ is_cran  : logi  TRUE TRUE TRUE TRUE FALSE FALSE ...
 $ remote   :List of 18
  ..$ :List of 4
  .. ..$ name    : chr "base64enc"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "0.1-3"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ :List of 4
  .. ..$ name    : chr "digest"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "0.6.18"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ :List of 4
  .. ..$ name    : chr "evaluate"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "0.13"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ :List of 4
  .. ..$ name    : chr "glue"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "1.3.0"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ : NULL
  ..$ : NULL
  ..$ :List of 4
  .. ..$ name    : chr "jsonlite"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "1.6"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ :List of 4
  .. ..$ name    : chr "knitr"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "1.22"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ :List of 4
  .. ..$ name    : chr "magrittr"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "1.5"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ : NULL
  ..$ :List of 4
  .. ..$ name    : chr "mime"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "0.6"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ :List of 4
  .. ..$ name    : chr "Rcpp"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "1.0.0"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ : NULL
  ..$ :List of 4
  .. ..$ name    : chr "stringi"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "1.3.1"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ :List of 4
  .. ..$ name    : chr "stringr"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "1.4.0"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ : NULL
  ..$ :List of 4
  .. ..$ name    : chr "xfun"
  .. ..$ repos   : Named chr "https://cran.rstudio.com"
  .. .. ..- attr(*, "names")= chr "CRAN"
  .. ..$ pkg_type: chr "both"
  .. ..$ sha     : chr "0.5"
  .. ..- attr(*, "class")= chr  "cran_remote" "remote"
  ..$ : NULL
  ..- attr(*, "class")= chr "remotes"
 - attr(*, "repos")= Named chr "https://cran.rstudio.com"
  ..- attr(*, "names")= chr "CRAN"
 - attr(*, "type")= chr "both"

I believe this is because some of the packages I have were installed by pak, and list their RemoteType as standard which is not yet understood by the remotes package.

> str(remotes:::package2remote("highr"))
 NULL
> str(read.dcf(system.file("DESCRIPTION", package = "highr"), all = TRUE))
'data.frame':	1 obs. of  25 variables:
 $ Package         : chr "highr"
 $ Type            : chr "Package"
 $ Title           : chr "Syntax Highlighting for R Source Code"
 $ Version         : chr "0.7"
 $ Authors@R       : chr "c(person(\"Christopher\", \"Gandrud\", role = \"ctb\"),\nperson(\"Qiang\", \"Li\", role = \"ctb\"),\nperson(\"Y"| __truncated__
 $ Maintainer      : chr "Yihui Xie <xie@yihui.name>"
 $ Description     : chr "Provides syntax highlighting for R source code. Currently it\nsupports LaTeX and HTML output. Source code of ot"| __truncated__
 $ Depends         : chr "R (>= 3.0.2)"
 $ Suggests        : chr "knitr, testit"
 $ License         : chr "GPL"
 $ URL             : chr "https://github.com/yihui/highr"
 $ BugReports      : chr "https://github.com/yihui/highr/issues"
 $ VignetteBuilder : chr "knitr"
 $ RoxygenNote     : chr "6.0.1"
 $ NeedsCompilation: chr "no"
 $ Packaged        : chr "2018-06-09 07:37:11 UTC; yihui"
 $ Author          : chr "Christopher Gandrud [ctb],\nQiang Li [ctb],\nYixuan Qiu [aut],\nYihui Xie [aut, cre]"
 $ Repository      : chr "CRAN"
 $ Date/Publication: chr "2018-06-09 15:46:28 UTC"
 $ Built           : chr "R 3.5.0; ; 2018-06-10 13:59:10 UTC; unix"
 $ RemoteType      : chr "standard"
 $ RemoteRef       : chr "highr"
 $ RemoteRepos     : chr "https://cloud.r-project.org"
 $ RemotePkgType   : chr "macos"
 $ RemoteSha       : chr "0.7"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions