spinel.coop blog
Why are exec and run so confusing?
While working on rv, there’s a specific question that has come up over and over again, in many different forms. In the simplest possible form, it boils down to:
What is the difference between
rv execandrv run? Why have both?
We haven’t finished implementing either rv exec or rv run yet, but every time one or the other comes up in a conversation, everything instantly becomes more confusing.
This post will summarize the history of exec and run in Bundler, npm, Cargo, and uv. Once we have the history laid out, we can take a look at what we plan to do in rv, and you can give us your feedback.
rv 0.3.0 released
We’re excited to announce rv version 0.3.0 has been released.
Highlights include support for Ruby versions 3.2.x, 3.5.0-preview1, and 4.0.0-preview2, as well as automatic Ruby installation during the rv ruby run command. We also added support for .tool-versions files, which are also used by the asdf and mise tools.
Just for fun, we also added the oldest version of Ruby that has released source code: 0.49! If you’d like to try it, there are some example scripts available in the repo where @sampersand modernized the code.