Skip to content

Not detecting the R interpreter that is active in positron #2648

@jonkeane

Description

@jonkeane

System details

Publisher Version        : 1.14.0
Connect Version          : dev
Your OS                  : macOS 15.4.1
Content Type to Deploy   : shiny app

Publisher Output and Logs

time=2025-05-16T07:32:51.529-05:00 level=DEBUG msg="Picking directory from request" directory=.
time=2025-05-16T07:32:51.530-05:00 level=DEBUG msg="Validating path to R executable found" path=/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/bin/R
time=2025-05-16T07:32:51.530-05:00 level=INFO msg="Getting R version" r=/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/bin/R
time=2025-05-16T07:32:51.530-05:00 level=DEBUG msg="Running command" cmd=/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/bin/R args=--version
time=2025-05-16T07:32:51.588-05:00 level=INFO msg="Parsing line for R version" l="R version 4.3.3 (2024-02-29) -- \"Angel Food Cake\""
time=2025-05-16T07:32:51.588-05:00 level=INFO msg="Detected R version" version=4.3.3
time=2025-05-16T07:32:51.588-05:00 level=DEBUG msg="Successful validation for R executable" rExecutable=/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/bin/R
time=2025-05-16T07:32:51.588-05:00 level=DEBUG msg="Successful validation for Python executable" pythonExecutable="" version=3.12.10
time=2025-05-16T07:32:51.627-05:00 level=DEBUG msg="applying defaults to Config.R section" before="&{Version: PackageFile: PackageManager: RequiresRVersion:}"
time=2025-05-16T07:32:51.627-05:00 level=INFO msg="Getting renv lockfile path from R executable" r=/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/bin/R
time=2025-05-16T07:32:51.627-05:00 level=DEBUG msg="Running command" cmd=/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/bin/R args="-s -e renv::paths$lockfile()"
time=2025-05-16T07:32:52.468-05:00 level=INFO msg="Parsing line for renv::path output" l="[1] \"/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/renv.lock\""
time=2025-05-16T07:32:52.468-05:00 level=INFO msg="renv::paths$lockfile returned lockfile path" path=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/renv.lock
time=2025-05-16T07:32:52.468-05:00 level=DEBUG msg="renv lockfile found via R executable" renv_lock=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/renv.lock
time=2025-05-16T07:32:52.470-05:00 level=DEBUG msg="after applying defaults to Config.R section" after="&{Version:4.3.3 PackageFile:renv.lock PackageManager:renv RequiresRVersion:~=4.3.0}"
time=2025-05-16T07:32:52.470-05:00 level=DEBUG msg="New account derived state created" account=dogfood config=usage-metrics-dashboard-E27U
time=2025-05-16T07:32:52.470-05:00 level=DEBUG msg="Looking for R on PATH" local_id=vlQU3DgDfTpWyU31 PATH=/Users/jkeane/.nvm/versions/node/v22.14.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Applications/quarto/bin
time=2025-05-16T07:32:52.470-05:00 level=DEBUG msg="Found R executable from PATH" local_id=vlQU3DgDfTpWyU31 path=/usr/local/bin/R
time=2025-05-16T07:32:52.470-05:00 level=DEBUG msg="Validating path to R executable found" local_id=vlQU3DgDfTpWyU31 path=/usr/local/bin/R
time=2025-05-16T07:32:52.470-05:00 level=INFO msg="Getting R version" local_id=vlQU3DgDfTpWyU31 r=/usr/local/bin/R
time=2025-05-16T07:32:52.470-05:00 level=DEBUG msg="Running command" local_id=vlQU3DgDfTpWyU31 cmd=/usr/local/bin/R args=--version
time=2025-05-16T07:32:52.494-05:00 level=INFO msg="Parsing line for R version" local_id=vlQU3DgDfTpWyU31 l="R version 4.5.0 (2025-04-11) -- \"How About a Twenty-Six\""
time=2025-05-16T07:32:52.494-05:00 level=INFO msg="Detected R version" local_id=vlQU3DgDfTpWyU31 version=4.5.0
time=2025-05-16T07:32:52.494-05:00 level=DEBUG msg="Successful validation for R executable" local_id=vlQU3DgDfTpWyU31 rExecutable=/usr/local/bin/R
time=2025-05-16T07:32:52.494-05:00 level=DEBUG msg="New publisher derived from state" local_id=vlQU3DgDfTpWyU31 account=dogfood config=usage-metrics-dashboard-E27U
time=2025-05-16T07:32:52.494-05:00 level=INFO msg="Access Log" method=POST url="/api/deployments/deployment-CJSO?dir=.&r=%2FLibrary%2FFrameworks%2FR.framework%2FVersions%2F4.3-arm64%2FResources%2Fbin%2FR&python=%2Fopt%2Fhomebrew%2Fbin%2Fpython3.12" elapsed_ms=965 status=202 req_size=91 resp_size=31 client_addr=127.0.0.1:54266 req.account=dogfood req.config=usage-metrics-dashboard-E27U req.secrets=map[] req.insecure=false
time=2025-05-16T07:32:52.494-05:00 level=INFO msg="Publishing from directory" local_id=vlQU3DgDfTpWyU31 event_op=agent path=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard localID=vlQU3DgDfTpWyU31
time=2025-05-16T07:32:52.495-05:00 level=INFO msg="Starting deployment to server" local_id=vlQU3DgDfTpWyU31 server=https://dogfood.team.pct.posit.it
time=2025-05-16T07:32:52.495-05:00 level=INFO msg="Updating deployment" local_id=vlQU3DgDfTpWyU31 content_id=ba28e7d7-f283-4bea-bbdb-51f46c82c339
time=2025-05-16T07:32:52.495-05:00 level=DEBUG msg="Built manifest from config" local_id=vlQU3DgDfTpWyU31 config=usage-metrics-dashboard-E27U
time=2025-05-16T07:32:52.495-05:00 level=INFO msg="Collecting R package descriptions" local_id=vlQU3DgDfTpWyU31 event_op=publish/getRPackageDescriptions
time=2025-05-16T07:32:52.495-05:00 level=DEBUG msg="Collecting manifest R packages" local_id=vlQU3DgDfTpWyU31 event_op=publish/getRPackageDescriptions lockfile=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/renv.lock
time=2025-05-16T07:32:52.496-05:00 level=DEBUG msg="Running command" local_id=vlQU3DgDfTpWyU31 event_op=publish/getRPackageDescriptions cmd=/usr/local/bin/R args="-s -e cat(.libPaths(), sep=\"\\n\")"
time=2025-05-16T07:32:53.001-05:00 level=DEBUG msg="Running command" local_id=vlQU3DgDfTpWyU31 event_op=publish/getRPackageDescriptions cmd=/usr/local/bin/R args="-s -e (function() { pkgs <- available.packages( repos = setNames(c(\"https://cloud.r-project.org\"), c(\"CRAN\")), type = \"source\", filters = c(getOption(\"rsconnect.available_packages_filters\", default = c()), \"duplicates\"));info <- pkgs[,c(\"Package\", \"Version\", \"Repository\")];apply(info, 1, function(x) { cat(x, sep=\" \", collapse=\"\\n\") } );invisible()})()"
time=2025-05-16T07:32:54.027-05:00 level=DEBUG msg="Running command" local_id=vlQU3DgDfTpWyU31 event_op=publish/getRPackageDescriptions cmd=/usr/local/bin/R args="-s -e (function() { if (requireNamespace(\"BiocManager\", quietly = TRUE) || requireNamespace(\"BiocInstaller\", quietly = TRUE)) {repos <- getFromNamespace(\"renv_bioconductor_repos\", \"renv\")(\"/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard\"); repos <- repos[setdiff(names(repos), \"CRAN\")]; cat(repos, labels=names(repos), fill=1); invisible()}})()"

Logs URL:  https://dogfood.team.pct.posit.it/connect/#/apps/ba28e7d7-f283-4bea-bbdb-51f46c82c339/logs
time=2025-05-16T07:32:54.534-05:00 level=DEBUG msg="Attempting to update deployment record" local_id=vlQU3DgDfTpWyU31 path=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/.posit/publish/deployments/deployment-CJSO.toml localIdIfDeploying=vlQU3DgDfTpWyU31
time=2025-05-16T07:32:54.537-05:00 level=DEBUG msg="Updating deployment record" local_id=vlQU3DgDfTpWyU31 path=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/.posit/publish/deployments/deployment-CJSO.toml
time=2025-05-16T07:32:54.537-05:00 level=ERROR msg="Deployment failed" local_id=vlQU3DgDfTpWyU31 error="package MASS: versions in lockfile '7.3-60.0.1' and library '7.3-65' are out of sync. Use renv::restore() or renv::snapshot() to synchronize"
time=2025-05-16T07:32:54.678-05:00 level=DEBUG msg="Picking directory from request" directory=.
time=2025-05-16T07:32:54.678-05:00 level=DEBUG msg="Picking directory from request" directory=.
time=2025-05-16T07:32:54.687-05:00 level=DEBUG msg="excluding directory" path=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/renv/library
time=2025-05-16T07:32:54.687-05:00 level=DEBUG msg="excluding directory" path=/Users/jkeane/repos/connect-extensions/extensions/usage-metrics-dashboard/renv/staging
time=2025-05-16T07:32:54.688-05:00 level=INFO msg="Access Log" method=GET url="/api/deployments?dir=.&recursive=true" elapsed_ms=9 status=200 req_size=0 resp_size=2034 client_addr=127.0.0.1:54286
time=2025-05-16T07:32:54.986-05:00 level=DEBUG msg="API request" method=GET path=/__api__/v1/content/ba28e7d7-f283-4bea-bbdb-51f46c82c339/environment body="" response=[] error=<nil>
time=2025-05-16T07:32:54.987-05:00 level=INFO msg="Access Log" method=GET url="/api/deployments/deployment-CJSO/environment?dir=." elapsed_ms=308 status=200 req_size=0 resp_size=3 client_addr=127.0.0.1:54285

Problem Statement

I have a project that I've configured to run in R 4.3.3 in positron (though 4.5.0 is on my path as the default). In some portions of the logs, we detect 4.3.3 correctly, but in others (and critically when we call renv::status() and then block deploying if that's not clean), we are detecting 4.5.0 and so getting the library(s) wrong and incorrectly saying that there's a package mismatch.

Steps to Reproduce

Use an interpreter in Positron that is different from the default path.

And as a note if anyone else is running into this: I ran rig default 4.3-arm64 to get make that 4.3.3 executable on my path, and that let the deploy go through just fine.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions