-
Notifications
You must be signed in to change notification settings - Fork 77
Description
I am not sure why, but pak::local_install_deps always fails to download when run inside a GitHub CodeSpaces postCreateCommand, whereas a plain pak::pkg_install works fine.
To reproduce, create an R library with at least one dependency, and a .devcontainer/devcontainer.json that looks like this:
{
"name": "R Development",
"image": "mcr.microsoft.com/devcontainers/base:debian",
"features": {
"ghcr.io/rocker-org/devcontainer-features/r-rig:1": {
"version": "release",
"installREnv": false,
"installRMarkdown": false,
"installJupyterlab": false
}
},
"postCreateCommand": "R -e \"pak::local_install_deps()\""
}(Note: depending what dependencies you're trying to install, you might also want to install some system packages, like: sudo apt-get update && sudo apt-get install -y libxml2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgit2-dev libharfbuzz-dev libjpeg-dev libpng-dev libtiff-dev libwebp-dev libx11-dev libcairo2-dev cmake pandoc)
Here is an example traceback:
Will install 9 packages.
Will download 9 CRAN packages (6.71 MB), cached: 1 (0 B).
- arrow 23.0.1.1 [bld][cmp][dl] (4.37 MB) + v cmake, v libcurl4-openssl-dev, v libssl-dev
- assertthat 0.2.1 [bld][dl] (12.74 kB)
- bit 4.6.0 [bld][cmp][dl] (304.58 kB)
- bit64 4.6.0-1 [bld][cmp][dl] (142.04 kB)
- dplyr 1.2.0 [bld][cmp][dl] (922.39 kB)
- econdatasets 0.1.0 [bld][dl] (7.38 kB)
- generics 0.1.4 [bld][dl] (47.22 kB)
- tidyr 1.3.2 [bld][cmp][dl] (809.03 kB)
- tidyselect 1.2.1 [bld][cmp][dl] (103.59 kB)
v All system requirements are already installed.i Getting 9 pkgs (6.71 MB)
x Failed to download arrow 23.0.1.1 (source)
x Failed to download assertthat 0.2.1 (source)
x Failed to download bit 4.6.0 (source)
x Failed to download bit64 4.6.0-1 (source)
x Failed to download dplyr 1.2.0 (source)
x Failed to download econdatasets 0.1.0 (source)
x Failed to download generics 0.1.4 (source)
x Failed to download tidyr 1.3.2 (source)
x Failed to download tidyselect 1.2.1 (source)
Error:
! error in pak subprocess
Caused by error:
! Failed to download arrow fromhttps://cloud.r-project.org/src/contrib/arrow_23.0.1.1.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/arrow/arrow_23.0.1.1.tar.gz.
Failed to download assertthat fromhttps://cloud.r-project.org/src/contrib/assertthat_0.2.1.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/assertthat/assertthat_0.2.1.tar.gz.
Failed to download bit fromhttps://cloud.r-project.org/src/contrib/bit_4.6.0.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/bit/bit_4.6.0.tar.gz.
Failed to download bit64 fromhttps://cloud.r-project.org/src/contrib/bit64_4.6.0-1.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/bit64/bit64_4.6.0-1.tar.gz.
Failed to download dplyr fromhttps://cloud.r-project.org/src/contrib/dplyr_1.2.0.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/dplyr/dplyr_1.2.0.tar.gz.
Failed to download econdatasets fromhttps://cloud.r-project.org/src/contrib/econdatasets_0.1.0.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/econdatasets/econdatasets_0.1.0.tar.gz.
Failed to download generics fromhttps://cloud.r-project.org/src/contrib/generics_0.1.4.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/generics/generics_0.1.4.tar.gz.
Failed to download tidyr fromhttps://cloud.r-project.org/src/contrib/tidyr_1.3.2.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/tidyr/tidyr_1.3.2.tar.gz.
Failed to download tidyselect fromhttps://cloud.r-project.org/src/contrib/tidyselect_1.2.1.tar.gzandhttps://cloud.r-project.org/src/contrib/Archive/tidyselect/tidyselect_1.2.1.tar.gz.Backtrace:
- pak::local_install_deps()
- pak:::remote(function(...) get("pkg_install_do_plan", asNamespace("pak"))(...)...
- err$throw(res$error)
Subprocess backtrace:
- base::withCallingHandlers(cli_message = function(msg) { ...
- get("pkg_install_do_plan", asNamespace("pak"))(...)
- proposal$stop_for_download_error()
- private$plan$stop_for_solution_download_error()
- pkgdepends:::pkgplan_stop_for_solution_download_error(self, private)
- pkgdepends:::stop(err)
- | base::throw(add_class(args[[1]], c("rlib_error_3_0", "rlib_error"), ...
- | base::signalCondition(cond)
- global (function (e) ...
Execution halted