TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Rv, a Package Manager for R

76 pointsby Keats3 days ago
We have been building a package manager for R inspired by Cargo in Rust. The main idea behind rv is to be explicit about the R version in use as well as declaring which dependencies are used in a rproject.toml file for a given project. There&#x27;s no renv::snapshot equivalent, everything needs to be declared up front, the config file (and resulting lockfile) is the source of truth. This avoids issue where renv might miss information about the installation and is also easy to tweak some packages, eg install one from source and install suggests from another.<p>If you have used Cargo&#x2F;npm&#x2F;any Python package manager&#x2F;etc, it will be very familiar.

11 comments

simpaticoder3 days ago
You might want to consider writing a plugin for R with Mise en Place <a href="https:&#x2F;&#x2F;mise.jdx.dev&#x2F;core-tools.html" rel="nofollow">https:&#x2F;&#x2F;mise.jdx.dev&#x2F;core-tools.html</a> This would extend your reach and might take some of the heavy lifting out of the project. (At least for the runtime portion. I don&#x27;t think it will help with package management.)
评论 #44008748 未加载
xvilka3 days ago
Maybe some code could be shared with the `uv`[1] to avoid re-implementing same things.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;astral-sh&#x2F;uv">https:&#x2F;&#x2F;github.com&#x2F;astral-sh&#x2F;uv</a>
评论 #44008759 未加载
condwanaland3 days ago
Very cool! Are you planning for there to be a corresponding R package that exposes the high level commands? The popularity of the usethis package really showed the power of keeping people within the R interpreter rather than going back and forth with the terminal. This is so important for a language like R that has so many users without much CS training
评论 #44010457 未加载
badmonster3 days ago
I&#x27;m curious — does rv support or plan to support per-project isolation of system-level dependencies (e.g., gfortran, libxml2, etc.) like what renv sometimes indirectly requires users to manage outside R? If not, do you have recommendations for managing these in a reproducible way alongside rv?
评论 #44009824 未加载
评论 #44009763 未加载
_Wintermute3 days ago
My biggest issue with R package management is version pinning. If I specify an older version of a package, R will fetch the latest versions of all its dependencies, regardless if they&#x27;re compatible or not, which leads to manually chasing down and re-installing specific versions of dependencies and sub-dependencies one-by-one.<p>Microsoft&#x27;s CRAN time machine helped solved this, but I think they&#x27;ve recently shut it down and I don&#x27;t really trust Posit to not have a version behind a paywall.
评论 #44008502 未加载
评论 #44008221 未加载
评论 #44008542 未加载
j_bum2 days ago
Looks interesting, I’m excited to give it a try.<p>Is there any plan to have it create a manifest (like renv.lock) that can be used directly with the posit publishing system?
评论 #44015188 未加载
rorylawless3 days ago
Ok, this is really promising. I&#x27;ve always found renv to be slightly frustrating to use and it ends up breaking in mysterious ways after a time. rv was a joy to use in a small personal repo.
xgstation3 days ago
is using Rust to rewrite existing package managers a new trendy thing<p>feels we eagerly need cv -&gt; C&#x2F;C++ package manager
mbeavitt3 days ago
Can this be used to effectively create R environments? I’m desperate for such a solution.
评论 #44008773 未加载
评论 #44007561 未加载
评论 #44009817 未加载
评论 #44007427 未加载
评论 #44007510 未加载
cluckindan3 days ago
Is it possible to override transitive dependencies?
评论 #44009456 未加载
barslmn3 days ago
Can it be used for installing from bioconductor?
评论 #44009050 未加载