r-lib / remotes

Install R packages from GitHub, GitLab, Bitbucket, git, svn repositories, URLs
https://remotes.r-lib.org/
Other
337 stars 153 forks source link

Remotes designations with `::` aren't read properly by `remotes::dev_package_deps()` #816

Open cansavvy opened 2 weeks ago

cansavvy commented 2 weeks ago

Background

I have some bioconductor packages that are dependencies for an R package I'm working on. I tried following the documentation here: https://remotes.r-lib.org/articles/dependencies.html#other-sources

That says I should put in the Remotes: section something that looks like:

# Bioconductor
Remotes: bioc::3.3/SummarizedExperiment#117513, bioc::release/Biobase

This hasn't been panning out when I've tried to use this.

Error

When I have a github action for CI/CD purposes, I'm trying to query the dependencies if I run: remotes::dev_package_deps(dependencies = TRUE)

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  no lines available in input

This is resolved if I get rid of the bioc::3.15 bits and replace them with GitHub remotes.

Reprex

Here's two versions of my exact description file (note I had to add a .txt prefix so GitHub would upload). If you put this in your current working directory and runremotes::dev_package_deps(dependencies = TRUE)` you should see the difference.

NOT working DESCRIPTION.txt which has:

Remotes:
 bioc::3.3/Rhtslib,
 bioc::3.3/Rsamtools,
 bioc::3.3/Rbowtie2,

I also tried playing around with the release numbers to make them release numbers that actually exist for Bioconductor e.g. 3.15 but this didn't make a difference. https://bioconductor.org/news/bioc_3_15_release/

Working DESCRIPTION.txt which has

Remotes:
 Bioconductor/Rhtslib,
 Bioconductor/Rsamtools,
 wzthu/Rbowtie2,

There are some other issues I've been encountering with using the bioc::3.15/ type designation and I might file those issues separately unless there's already existing issues for them.

Session info

I should note I get this locally with this session info but also on Ubuntu and Windows builds using GitHub Actions.

R version 4.4.0 (2024-04-24)
Platform: x86_64-apple-darwin20
Running under: macOS 15.0.1

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/New_York
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_4.4.0    cli_3.6.3         tools_4.4.0       rstudioapi_0.17.1
[5] curl_5.2.3        remotes_2.5.0     rlang_1.1.4  
cansavvy commented 2 weeks ago

My solution for now is just to pull from GitHub instead.

gaborcsardi commented 1 week ago

In general we suggest using pak and in particular https://github.com/r-lib/actions on GitHub Actions to install R package dependencies, because they work much better.

Nevertheless, maybe we can fix this, do you think you can create a reproducible example? Of course a PR is also welcome. :)