Skip to content

Error in res_one_row_df(entries): ! nrow(out) must equal 1 #804

@salim-b

Description

@salim-b

Problem

pak::pkg_install(dependencies = TRUE) errors when trying to install the following 189 R packages at once:

pkgs_cran <- c(
    "anesrake",
    "anytime",
    "archive",
    "arrow",
    "asciicast",
    "assertr",
    "available",
    "bench",
    "BFS",
    "blastula",
    "blogdown",
    "bookdown",
    "brio",
    "broom",
    "checkmate",
    "cli",
    "clipr",
    "clock",
    "commonmark",
    "constructive",
    "covr",
    "crayon",
    "crosstalk",
    "crul",
    "curl",
    "daff",
    "datapasta",
    "DBI",
    "deeplr",
    "desc",
    "DescTools",
    "devtools",
    "DiagrammeR",
    "DiagrammeRsvg",
    "dials",
    "diffobj",
    "diffviewer",
    "digest",
    "dm",
    "dplyr",
    "dqrng",
    "DT",
    "duckdb",
    "forcats",
    "fs",
    "gargle",
    "gert",
    "ggeffects",
    "ggforce",
    "ggiraph",
    "ggplot2",
    "ggstream",
    "gh",
    "gitlabr",
    "glue",
    "googledrive",
    "googlesheets4",
    "graphql",
    "gt",
    "gtsummary",
    "haven",
    "heck",
    "hexSticker",
    "hms",
    "htmltools",
    "htmlwidgets",
    "httr2",
    "imager",
    "infer",
    "ISOcodes",
    "janitor",
    "jsonlite",
    "kableExtra",
    "katex",
    "keyring",
    "knitr",
    "komaletter",
    "labelled",
    "languageserver",
    "learnr",
    "lifecycle",
    "listviewer",
    "lobstr",
    "lubridate",
    "magick",
    "magrittr",
    "miniUI",
    "mirt",
    "modeldata",
    "modelr",
    "mongolite",
    "oai",
    "openssl",
    "pak",
    "paletteer",
    "pander",
    "parsedate",
    "parsnip",
    "pins",
    "pkgbuild",
    "pkgcache",
    "pkgdepends",
    "pkgdown",
    "pkgload",
    "pkgsearch",
    "plumber",
    "prettycode",
    "prettyunits",
    "purrr",
    "qpdf",
    "qs",
    "R6",
    "ragg",
    "rcmdcheck",
    "RColorBrewer",
    "Rcpp",
    "RcppTOML",
    "RCurl",
    "readODS",
    "readr",
    "readxl",
    "recipes",
    "remotes",
    "renv",
    "reprex",
    "reticulate",
    "revealjs",
    "rex",
    "rio",
    "rJava",
    "rlang",
    "rmarkdown",
    "RPostgres",
    "rsample",
    "rsconnect",
    "RSelenium",
    "rstudioapi",
    "rsvg",
    "rvest",
    "s2",
    "s3fs",
    "servr",
    "sessioninfo",
    "sf",
    "shiny",
    "showtext",
    "skimr",
    "staplr",
    "stringdist",
    "stringi",
    "stringr",
    "styler",
    "swissparl",
    "testthat",
    "tibble",
    "tidyr",
    "tidyRSS",
    "tidyselect",
    "tidytext",
    "tidyverse",
    "tiff",
    "tinkr",
    "tokenizers",
    "tune",
    "tweenr",
    "uaparserjs",
    "units",
    "urltools",
    "usethis",
    "uuid",
    "V8",
    "vctrs",
    "viridis",
    "visdat",
    "vroom",
    "webshot2",
    "whoami",
    "widyr",
    "withr",
    "workflows",
    "writexl",
    "xfun",
    "xml2",
    "xopen",
    "xslt",
    "yaml",
    "yardstick",
    "yesno",
    "zip"
)

pak::pkg_install(pkg = pkgs_cran,
                 ask = FALSE,
                 dependencies = TRUE)
#> ℹ Loading metadata database
#> ✔ Loading metadata database ... done
#> 
#> Error: ! error in pak subprocess
#> Caused by error in `res_one_row_df(entries)`:
#> ! `nrow(out)` must equal `1`.

Created on 2025-07-27 with reprex v2.1.1

.Last.error then gives:

<callr_error/rlib_error_3_0/rlib_error/error>
Error: 
! error in pak subprocess
Caused by error in `res_one_row_df(entries)`:
! `nrow(out)` must equal `1`.
---
Backtrace:
1. pak::pkg_install(pkg = pkgs_cran, ask = FALSE, dependencies = TRUE)
2. pak:::remote(function(...) get("pkg_install_make_plan", asNamespace("pak"))(...), …
3. err$throw(res$error)
---
Subprocess backtrace:
 1. base::withCallingHandlers(cli_message = function(msg) { …
 2. get("pkg_install_make_plan", asNamespace("pak"))(...)
 3. prop$solve()
 4. private$plan$solve(policy = private$policy)
 5. pkgdepends:::pkgplan_solve(self, private, match.arg(policy))
 6. self$resolve()
 7. pkgdepends:::pkgplan_resolve(self, private)
 8. pkgdepends:::synchronise(self$async_resolve())
 9. asNamespace("pkgcache")$synchronise(...)
10. base::stop(priv$value)
11. global (function (e) …

And additionally warns (because I set options(warnPartialMatchDollar = TRUE)):

Warning message:
In cond$parent : partial match of 'parent' to 'parents'

System info

sessioninfo::session_info(info = "all") is:

─ Session info ────────────────────────────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.1 (2025-06-13)
 os       Ubuntu 24.04.2 LTS
 system   x86_64, linux-gnu
 ui       RStudio
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Etc/UTC
 date     2025-07-27
 rstudio  2025.05.1+513 Mariposa Orchid (desktop)
 pandoc   3.7.0.2 @ /var/home/salim/.local/state/pixi/bin/ (via rmarkdown)
 quarto   1.7.32 @ /usr/local/bin/quarto

─ Packages ────────────────────────────────────────────────────────────────────────────────────────
 package     * version    date (UTC) lib source
 brio          1.1.5      2024-04-24 [1] RSPM
 callr         3.7.6      2024-03-25 [1] RSPM (R 4.5.0)
 cli           3.6.5      2025-04-23 [1] RSPM
 clipr         0.8.0      2022-02-22 [1] RSPM
 crayon        1.5.3      2024-06-20 [1] RSPM
 debugme       1.2.0      2024-04-25 [1] RSPM (R 4.5.0)
 digest        0.6.37     2024-08-19 [1] RSPM
 evaluate      1.0.4      2025-06-18 [1] RSPM
 fastmap       1.2.0      2024-05-15 [1] RSPM (R 4.5.0)
 fs            1.6.6      2025-04-12 [1] RSPM
 glue          1.8.0      2024-09-30 [1] RSPM
 htmltools     0.5.8.1    2024-04-04 [1] RSPM
 knitr         1.50       2025-03-16 [1] RSPM
 lifecycle     1.0.4      2023-11-07 [1] RSPM
 magrittr    * 2.0.3      2022-03-30 [1] RSPM
 pak           0.9.0      2025-05-27 [1] RSPM
 pillar        1.11.0     2025-07-04 [1] RSPM
 pkgcache      2.2.4      2025-05-26 [1] RSPM
 pkgconfig     2.0.3      2019-09-22 [1] RSPM (R 4.5.0)
 pkgdepends    0.9.0      2025-05-27 [1] RSPM
 processx      3.8.6      2025-02-21 [1] RSPM (R 4.5.0)
 ps            1.9.1      2025-04-12 [1] RSPM (R 4.5.0)
 R6            2.6.1      2025-02-15 [1] RSPM
 reprex        2.1.1      2024-07-06 [1] RSPM
 rlang       * 1.1.6      2025-04-11 [1] RSPM
 rmarkdown     2.29       2024-11-04 [1] RSPM
 rprojroot     2.0.4.9005 2025-07-27 [1] Github (salim-b/rprojroot@152bfee)
 rstudioapi    0.17.1     2024-10-22 [1] RSPM
 sessioninfo   1.2.3      2025-02-05 [1] RSPM
 testthat      3.2.3      2025-01-13 [1] RSPM
 tibble        3.3.0      2025-06-08 [1] RSPM
 vctrs         0.6.5      2023-12-01 [1] RSPM
 withr         3.0.2      2024-10-28 [1] RSPM
 xfun          0.52       2025-04-02 [1] RSPM
 yaml          2.3.10     2024-07-26 [1] RSPM

 [1] /var/home/salim/.local/share/distrobox/ubuntu-toolbox-salim/.local/lib/r/x86_64-pc-linux-gnu-library/4.5
 [2] /opt/R/4.5.1/lib/R/library
 * ── Packages attached to the search path.

─ External software ───────────────────────────────────────────────────────────────────────────────
 setting        value
 cairo          1.18.0
 cairoFT
 pango          1.52.1
 png            1.6.43
 jpeg           8.0
 tiff           LIBTIFF, Version 4.5.1
 tcl            8.6.14
 curl           8.5.0
 zlib           1.3
 bzlib          1.0.8, 13-Jul-2019
 xz             5.4.5
 deflate        1.19
 PCRE           10.42 2022-12-11
 ICU            74.2
 TRE            TRE 0.8.0 R_fixes (BSD)
 iconv          glibc 2.39
 readline       8.2
 BLAS           /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
 lapack         /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so
 lapack_version 3.12.0

─ Python configuration ────────────────────────────────────────────────────────────────────────────
 Python is not available

───────────────────────────────────────────────────────────────────────────────────────────────────

getOption("repos") is:

                                         CRAN 
"https://p3m.dev/cran/__linux__/noble/latest"

Further observations

  • When splitting pkgs_cran in half (pkgs_cran[1:95] and pkgs_cran[95:189]), installing each half works fine, i.e. doesn't trigger the error.

  • Setting dependencies = FALSE also avoids triggering the error.

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