rstudio / renv

renv: Project environments for R.
https://rstudio.github.io/renv/
MIT License
996 stars 152 forks source link

Possible bug: renv does not respect renv.lock when activating #1530

Closed MichalLauer closed 1 year ago

MichalLauer commented 1 year ago

Hello, I have noticed that when creating a new project with only renv.lock file, the packages are not installed even tho {renv} says that the library is synchronized. Steps for reproduction:

1) Create a blank project with renv.lock file

ProjectFolder
│
└─project.Rproj
└─renv.lock

2) Run renv::activate()

The expected behavior would be installing all packages from renv.lock, but this does not happen, and the library in renv/library/R-4.3/x86_64-w64-mingw32 contains only renv folder. Here is a screenshot from R console.

image

After running renv::status(), I can see that renv thinks that all packages are installed, but it is not true.

image (note they are not in use because I am using a new clean project, not my main project)

I also tried running renv::restore() or renv::install() but no luck either

image

Here is my current (also long) renv.lock file ``` { "R": { "Version": "4.3.0", "Repositories": [ { "Name": "CRAN", "URL": "https://cran.rstudio.com" } ] }, "Packages": { "MASS": { "Package": "MASS", "Version": "7.3-60", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "grDevices", "graphics", "methods", "stats", "utils" ], "Hash": "a56a6365b3fa73293ea8d084be0d9bb0" }, "Matrix": { "Package": "Matrix", "Version": "1.5-4.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "graphics", "grid", "lattice", "methods", "stats", "utils" ], "Hash": "38082d362d317745fb932e13956dccbb" }, "R6": { "Package": "R6", "Version": "2.5.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "470851b6d5d0ac559e9d01bb352b4021" }, "RColorBrewer": { "Package": "RColorBrewer", "Version": "1.1-3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "45f0398006e83a5b10b72a90663d8d8c" }, "Rcpp": { "Package": "Rcpp", "Version": "1.0.10", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "methods", "utils" ], "Hash": "e749cae40fa9ef469b6050959517453c" }, "askpass": { "Package": "askpass", "Version": "1.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "sys" ], "Hash": "e8a22846fff485f0be3770c2da758713" }, "backports": { "Package": "backports", "Version": "1.4.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "c39fbec8a30d23e721980b8afb31984c" }, "base64enc": { "Package": "base64enc", "Version": "0.1-3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "543776ae6848fde2f48ff3816d0628bc" }, "brio": { "Package": "brio", "Version": "1.1.3", "Source": "Repository", "Repository": "CRAN", "Hash": "976cf154dfb043c012d87cddd8bca363" }, "bslib": { "Package": "bslib", "Version": "0.5.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "base64enc", "cachem", "grDevices", "htmltools", "jquerylib", "jsonlite", "memoise", "mime", "rlang", "sass" ], "Hash": "1b117970533deb6d4e992c1b34e9d905" }, "cachem": { "Package": "cachem", "Version": "1.0.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "fastmap", "rlang" ], "Hash": "c35768291560ce302c0a6589f92e837d" }, "callr": { "Package": "callr", "Version": "3.7.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "processx", "utils" ], "Hash": "9b2191ede20fa29828139b9900922e51" }, "checkmate": { "Package": "checkmate", "Version": "2.2.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "backports", "utils" ], "Hash": "ca9c113196136f4a9ca9ce6079c2c99e" }, "cli": { "Package": "cli", "Version": "3.6.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], "Hash": "89e6d8219950eac806ae0c489052048a" }, "colorspace": { "Package": "colorspace", "Version": "2.1-0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "grDevices", "graphics", "methods", "stats" ], "Hash": "f20c47fd52fae58b4e377c37bb8c335b" }, "commonmark": { "Package": "commonmark", "Version": "1.9.0", "Source": "Repository", "Repository": "CRAN", "Hash": "d691c61bff84bd63c383874d2d0c3307" }, "crayon": { "Package": "crayon", "Version": "1.5.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "grDevices", "methods", "utils" ], "Hash": "e8a1e41acf02548751f45c718d55aa6a" }, "curl": { "Package": "curl", "Version": "5.0.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "2118af9cb164c8d2dddc7b89eaf732d9" }, "data.table": { "Package": "data.table", "Version": "1.14.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], "Hash": "b4c06e554f33344e044ccd7fdca750a9" }, "desc": { "Package": "desc", "Version": "1.4.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "cli", "rprojroot", "utils" ], "Hash": "6b9602c7ebbe87101a9c8edb6e8b6d21" }, "dictionar6": { "Package": "dictionar6", "Version": "0.1.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R6", "ooplah" ], "Hash": "ea905aa030653825eea59d1364d4fa8c" }, "diffobj": { "Package": "diffobj", "Version": "0.3.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "crayon", "methods", "stats", "tools", "utils" ], "Hash": "bcaa8b95f8d7d01a5dedfd959ce88ab8" }, "digest": { "Package": "digest", "Version": "0.6.32", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], "Hash": "011ce1464a4716c488f4fc649c3d4d50" }, "distr6": { "Package": "distr6", "Version": "1.6.15", "Source": "GitHub", "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteUsername": "alan-turing-institute", "RemoteRepo": "distr6", "RemoteRef": "main", "RemoteSha": "3ae99630bcab7d81c0675a9418e013bf018a07fe", "Remotes": "xoopR/set6, xoopR/param6", "Requirements": [ "R6", "Rcpp", "checkmate", "data.table", "ooplah", "param6", "set6", "stats" ], "Hash": "d930d1fcfd25e27bc1e4a4c99851b4b7" }, "dplyr": { "Package": "dplyr", "Version": "1.1.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "cli", "generics", "glue", "lifecycle", "magrittr", "methods", "pillar", "rlang", "tibble", "tidyselect", "utils", "vctrs" ], "Hash": "dea6970ff715ca541c387de363ff405e" }, "ellipsis": { "Package": "ellipsis", "Version": "0.3.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "rlang" ], "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077" }, "evaluate": { "Package": "evaluate", "Version": "0.21", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], "Hash": "d59f3b464e8da1aef82dc04b588b8dfb" }, "fansi": { "Package": "fansi", "Version": "1.0.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "grDevices", "utils" ], "Hash": "1d9e7ad3c8312a192dea7d3db0274fde" }, "farver": { "Package": "farver", "Version": "2.1.1", "Source": "Repository", "Repository": "CRAN", "Hash": "8106d78941f34855c440ddb946b8f7a5" }, "fastmap": { "Package": "fastmap", "Version": "1.1.1", "Source": "Repository", "Repository": "CRAN", "Hash": "f7736a18de97dea803bde0a2daaafb27" }, "fontawesome": { "Package": "fontawesome", "Version": "0.5.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "htmltools", "rlang" ], "Hash": "1e22b8cabbad1eae951a75e9f8b52378" }, "fs": { "Package": "fs", "Version": "1.6.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], "Hash": "94af08e0aa9675a16fadbb3aaaa90d2a" }, "generics": { "Package": "generics", "Version": "0.1.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], "Hash": "15e9634c0fcd294799e9b2e929ed1b86" }, "ggplot2": { "Package": "ggplot2", "Version": "3.4.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "MASS", "R", "cli", "glue", "grDevices", "grid", "gtable", "isoband", "lifecycle", "mgcv", "rlang", "scales", "stats", "tibble", "vctrs", "withr" ], "Hash": "3a147ee02e85a8941aad9909f1b43b7b" }, "glue": { "Package": "glue", "Version": "1.6.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" }, "gtable": { "Package": "gtable", "Version": "0.3.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "cli", "glue", "grid", "lifecycle", "rlang" ], "Hash": "b44addadb528a0d227794121c00572a0" }, "htmltools": { "Package": "htmltools", "Version": "0.5.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "base64enc", "digest", "ellipsis", "fastmap", "grDevices", "rlang", "utils" ], "Hash": "ba0240784ad50a62165058a27459304a" }, "httpuv": { "Package": "httpuv", "Version": "1.6.11", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "Rcpp", "later", "promises", "utils" ], "Hash": "838602f54e32c1a0f8cc80708cefcefa" }, "isoband": { "Package": "isoband", "Version": "0.2.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "grid", "utils" ], "Hash": "0080607b4a1a7b28979aecef976d8bc2" }, "jquerylib": { "Package": "jquerylib", "Version": "0.1.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "htmltools" ], "Hash": "5aab57a3bd297eee1c1d862735972182" }, "jsonlite": { "Package": "jsonlite", "Version": "1.8.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "methods" ], "Hash": "266a20443ca13c65688b2116d5220f76" }, "labeling": { "Package": "labeling", "Version": "0.4.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "graphics", "stats" ], "Hash": "3d5108641f47470611a32d0bdf357a72" }, "later": { "Package": "later", "Version": "1.3.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "Rcpp", "rlang" ], "Hash": "40401c9cf2bc2259dfe83311c9384710" }, "lattice": { "Package": "lattice", "Version": "0.21-8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "grDevices", "graphics", "grid", "stats", "utils" ], "Hash": "0b8a6d63c8770f02a8b5635f3c431e6b" }, "lifecycle": { "Package": "lifecycle", "Version": "1.0.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "cli", "glue", "rlang" ], "Hash": "001cecbeac1cff9301bdc3775ee46a86" }, "magrittr": { "Package": "magrittr", "Version": "2.0.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "7ce2733a9826b3aeb1775d56fd305472" }, "memoise": { "Package": "memoise", "Version": "2.0.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "cachem", "rlang" ], "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" }, "mgcv": { "Package": "mgcv", "Version": "1.8-42", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "Matrix", "R", "graphics", "methods", "nlme", "splines", "stats", "utils" ], "Hash": "3460beba7ccc8946249ba35327ba902a" }, "mime": { "Package": "mime", "Version": "0.12", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "tools" ], "Hash": "18e9c28c1d3ca1560ce30658b22ce104" }, "munsell": { "Package": "munsell", "Version": "0.5.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "colorspace", "methods" ], "Hash": "6dfe8bf774944bd5595785e3229d8771" }, "nlme": { "Package": "nlme", "Version": "3.1-162", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "graphics", "lattice", "stats", "utils" ], "Hash": "0984ce8da8da9ead8643c5cbbb60f83e" }, "ooplah": { "Package": "ooplah", "Version": "0.2.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R6" ], "Hash": "d08f1154dfa13239db1ae3ffded5adb2" }, "openssl": { "Package": "openssl", "Version": "2.0.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "askpass" ], "Hash": "0f7cd2962e3044bb940cca4f4b5cecbe" }, "packrat": { "Package": "packrat", "Version": "0.9.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "tools", "utils" ], "Hash": "481428983c19a7c443f7ea1beff0a2de" }, "param6": { "Package": "param6", "Version": "0.2.4", "Source": "GitHub", "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteUsername": "xoopR", "RemoteRepo": "param6", "RemoteRef": "main", "RemoteSha": "0fa35771276fc05efe007a71bda466ced1e4c5eb", "Remotes": "xoopR/set6", "Requirements": [ "R6", "checkmate", "data.table", "dictionar6", "set6" ], "Hash": "f6948611ff164d8375e70fb49c15eed7" }, "pillar": { "Package": "pillar", "Version": "1.9.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "cli", "fansi", "glue", "lifecycle", "rlang", "utf8", "utils", "vctrs" ], "Hash": "15da5a8412f317beeee6175fbc76f4bb" }, "pkgconfig": { "Package": "pkgconfig", "Version": "2.0.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "utils" ], "Hash": "01f28d4278f15c76cddbea05899c5d6f" }, "pkgload": { "Package": "pkgload", "Version": "1.3.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "cli", "crayon", "desc", "fs", "glue", "methods", "rlang", "rprojroot", "utils", "withr" ], "Hash": "6b0c222c5071efe0f3baf3dae9aa40e2" }, "praise": { "Package": "praise", "Version": "1.0.0", "Source": "Repository", "Repository": "CRAN", "Hash": "a555924add98c99d2f411e37e7d25e9f" }, "processx": { "Package": "processx", "Version": "3.8.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "ps", "utils" ], "Hash": "3efbd8ac1be0296a46c55387aeace0f3" }, "promises": { "Package": "promises", "Version": "1.2.0.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R6", "Rcpp", "later", "magrittr", "rlang", "stats" ], "Hash": "4ab2c43adb4d4699cf3690acd378d75d" }, "ps": { "Package": "ps", "Version": "1.7.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], "Hash": "709d852d33178db54b17c722e5b1e594" }, "rappdirs": { "Package": "rappdirs", "Version": "0.3.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "5e3c5dc0b071b21fa128676560dbe94d" }, "rematch2": { "Package": "rematch2", "Version": "2.1.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "tibble" ], "Hash": "76c9e04c712a05848ae7a23d2f170a40" }, "renv": { "Package": "renv", "Version": "1.0.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "utils" ], "Hash": "c321cd99d56443dbffd1c9e673c0c1a2" }, "rlang": { "Package": "rlang", "Version": "1.1.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], "Hash": "a85c767b55f0bf9b7ad16c6d7baee5bb" }, "rprojroot": { "Package": "rprojroot", "Version": "2.0.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "1de7ab598047a87bba48434ba35d497d" }, "rsconnect": { "Package": "rsconnect", "Version": "0.8.29", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "curl", "digest", "jsonlite", "openssl", "packrat", "rstudioapi", "tools", "yaml" ], "Hash": "fe178fc15af80952f546aafedf655b36" }, "rstudioapi": { "Package": "rstudioapi", "Version": "0.15.0", "Source": "Repository", "Repository": "CRAN", "Hash": "5564500e25cffad9e22244ced1379887" }, "sass": { "Package": "sass", "Version": "0.4.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R6", "fs", "htmltools", "rappdirs", "rlang" ], "Hash": "cc3ec7dd33982ef56570229b62d6388e" }, "scales": { "Package": "scales", "Version": "1.2.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "RColorBrewer", "farver", "labeling", "lifecycle", "munsell", "rlang", "viridisLite" ], "Hash": "906cb23d2f1c5680b8ce439b44c6fa63" }, "set6": { "Package": "set6", "Version": "0.2.5", "Source": "GitHub", "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteUsername": "xoopR", "RemoteRepo": "set6", "RemoteRef": "main", "RemoteSha": "e65ffeea48d30d687482f6706d0cb43b16ba3919", "Requirements": [ "R6", "Rcpp", "checkmate", "ooplah", "utils" ], "Hash": "a65e403cab938a2942b8235331199b29" }, "shiny": { "Package": "shiny", "Version": "1.7.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "bslib", "cachem", "commonmark", "crayon", "ellipsis", "fastmap", "fontawesome", "glue", "grDevices", "htmltools", "httpuv", "jsonlite", "later", "lifecycle", "methods", "mime", "promises", "rlang", "sourcetools", "tools", "utils", "withr", "xtable" ], "Hash": "c2eae3d8c670fa9dfa35a12066f4a1d5" }, "shinydashboard": { "Package": "shinydashboard", "Version": "0.7.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "htmltools", "promises", "shiny", "utils" ], "Hash": "e418b532e9bb4eb22a714b9a9f1acee7" }, "shinyjs": { "Package": "shinyjs", "Version": "2.1.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "digest", "jsonlite", "shiny" ], "Hash": "802e4786b353a4bb27116957558548d5" }, "shinyvalidate": { "Package": "shinyvalidate", "Version": "0.1.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "glue", "htmltools", "rlang", "shiny" ], "Hash": "4ce7aa115e26a4eefbecab1b27bc3ada" }, "sourcetools": { "Package": "sourcetools", "Version": "0.1.7-1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "5f5a7629f956619d519205ec475fe647" }, "stringi": { "Package": "stringi", "Version": "1.7.12", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "stats", "tools", "utils" ], "Hash": "ca8bd84263c77310739d2cf64d84d7c9" }, "stringr": { "Package": "stringr", "Version": "1.5.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "cli", "glue", "lifecycle", "magrittr", "rlang", "stringi", "vctrs" ], "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8" }, "sys": { "Package": "sys", "Version": "3.4.2", "Source": "Repository", "Repository": "CRAN", "Hash": "3a1be13d68d47a8cd0bfd74739ca1555" }, "testthat": { "Package": "testthat", "Version": "3.1.9", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "brio", "callr", "cli", "desc", "digest", "ellipsis", "evaluate", "jsonlite", "lifecycle", "magrittr", "methods", "pkgload", "praise", "processx", "ps", "rlang", "utils", "waldo", "withr" ], "Hash": "bcc48d6c50770b435c655954e45672c1" }, "tibble": { "Package": "tibble", "Version": "3.2.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "fansi", "lifecycle", "magrittr", "methods", "pillar", "pkgconfig", "rlang", "utils", "vctrs" ], "Hash": "a84e2cc86d07289b3b6f5069df7a004c" }, "tidyselect": { "Package": "tidyselect", "Version": "1.2.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "cli", "glue", "lifecycle", "rlang", "vctrs", "withr" ], "Hash": "79540e5fcd9e0435af547d885f184fd5" }, "utf8": { "Package": "utf8", "Version": "1.2.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "1fe17157424bb09c48a8b3b550c753bc" }, "vctrs": { "Package": "vctrs", "Version": "0.6.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "cli", "glue", "lifecycle", "rlang" ], "Hash": "d0ef2856b83dc33ea6e255caf6229ee2" }, "viridisLite": { "Package": "viridisLite", "Version": "0.4.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], "Hash": "c826c7c4241b6fc89ff55aaea3fa7491" }, "waiter": { "Package": "waiter", "Version": "0.2.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R6", "htmltools", "shiny" ], "Hash": "93e6b6c8ae3f81d4be77a0dc74e5cf5e" }, "waldo": { "Package": "waldo", "Version": "0.5.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "cli", "diffobj", "fansi", "glue", "methods", "rematch2", "rlang", "tibble" ], "Hash": "2c993415154cdb94649d99ae138ff5e5" }, "withr": { "Package": "withr", "Version": "2.5.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "grDevices", "graphics", "stats" ], "Hash": "c0e49a9760983e81e55cdd9be92e7182" }, "xtable": { "Package": "xtable", "Version": "1.8-4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "stats", "utils" ], "Hash": "b8acdf8af494d9ec19ccb2481a9b11c2" }, "yaml": { "Package": "yaml", "Version": "2.3.7", "Source": "Repository", "Repository": "CRAN", "Hash": "0d0056cc5383fbc240ccd0cb584bf436" } } } ```

However, when I manually terminate my R session (session -> Terminate R), {renv} acts as expected, and packages are marked as not installed.

Here is initial renv::status() after termination:

image

And here is renv::restore()

image

I am running the following setup: R version 4.3.0 (2023-04-21 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 11 x64 (build 22621)

I'm unsure if something is wrong with my setup or if I am using the wrong functions. Did I miss some updates? I looked at several Dockefile tutorials, and most use this approach.

Thanks for your time and help!

hadley commented 1 year ago

I think the problem is that you're using activate() (which is more designed to reactivate a renv project that you've deactivated) rather than init().

I'm not sure if this is a bug (maybe activate() could either report on the problem or create the project library itself), or we need better docs (although ?activate already makes it reasonably clear that you shouldn't generally call it yourself), or we don't need to do anything.

kevinushey commented 1 year ago

The problem here is that the old session's library paths are being persisted even after restart. For example:

> .libPaths()
[1] "/Users/kevin/Library/R/arm64/4.3/library"                            
[2] "/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library"
> renv::activate()

Restarting R session...

- Project '~/scratch/example' loaded. [renv 1.0.0]
- One or more packages recorded in the lockfile are not installed.
- Use `renv::status()` for more details.
> .libPaths()
[1] "/Users/kevin/Library/R/arm64/4.3/library"                                                        
[2] "/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library"                            
[3] "/Users/kevin/Library/Caches/org.R-project.R/R/renv/sandbox/R-4.3/aarch64-apple-darwin20/84ba8b13"

Presumedly this is RStudio trying to be helpful and preserve the library paths as we had set them before restarting, but we'll want to avoid this here.

hadley commented 1 year ago

Ah, makes sense!

MichalLauer commented 1 year ago

Great, thank you both! :)