Top
Best
New

Posted by micvbang 5 days ago

Tools I love: mise(-en-place)(blog.vbang.dk)
173 points | 49 commentspage 2
sergiotapia 5 days ago|
Interesting thank you for sharing. I've been using asdf for years now but I dislike the fact that you have to install plugins. I wish it just did stuff when I called commands.

I'll try out Mise for Elixir, Erlang and NodeJS to see if it works like you describe.

codethief 4 days ago|
> but I dislike the fact that you have to install plugins. I wish it just did stuff when I called commands.

I used asdf for many years but this really annoyed me, too (along with a few other things). So I recently made the switch to mise and haven't looked back.

abrookewood 4 days ago||
Yep, Mise is great for Elixir, Erlang etc - no issues
hdjrudni 5 days ago||
Executables need to be more stable. I shouldn't have to manage versions this way at all. i.e., I should never need to downgrade a program. I think the Python 2 -> 3 fiasco broke everyone's brains.
Etheryte 5 days ago||
Windows is the prime example of near infinite backwards compatibility. To an extent, less change and more backwards compatibility is good, but in my opinion, there definitely is such a thing as too much of it, too.
__MatrixMan__ 4 days ago|||
Wouldn't that be nice. Unfortunately people are naughty, so precisely pinned dependency versions are the next best thing.
goku12 4 days ago||
Even if the executables were stable, the ability to precisely pin tool versions is critical for reproducible software builds.
Centigonal 3 days ago||
I use and love pixi to manage python versions, venvs, and dependencies. How would mise fit into that workflow, or does it not?
ukprogrammer 4 days ago||
can anyone comment on what their experience of using mise is vs. other tools a a la nix home-manager/flakes?

I see this "one tool to rule them all" and instantly my senses go off that this is too good to be true to work in all the long-tail scenarios.

There always seems to be some strange edge-cases with tools of this nature.

hacb 5 days ago|
So if I understand it correctly, it's a mix between GNU Make and `asdf`?
pixelmonkey 5 days ago||
Author of mise has a page comparing it to asdf:

https://mise.jdx.dev/dev-tools/comparison-to-asdf.html

foldr 5 days ago|||
I use it just as a better asdf. I don’t quite see the point of the rest of its functionality, but “asdf without needing to install plugins” is a compelling enough proposition for me.
nchmy 5 days ago||
I'm in the same position at the moment, though I actually do see the point of the rest of the functionality. I just don't use it.
figmert 5 days ago|||
On top of that, it also enabled environment management (replacing direnv). Env vars can also be retrieved from secret stores.

It can also manage tools from various backends, e.g. go, aqua, cargo, npm, ubi and others

kstrauser 5 days ago|||
What does that “manage tools” bit get you? I started using mise as a replacement direnv a while ago and it’s nice enough: cd into a directory and voila, the Python virtualenv is activated. I like that. But in what way could it manage, say, npm or cargo that would be useful?

I feel like I’m missing something important here, as lots of people seem to adore mise, and I like it just fine for the limited use I put it to, but I haven’t had that aha moment yet that makes it indispensable for me.

sureglymop 4 days ago|||
Iirc it uses cargo directly as a mise backend. For example, instead of doing "cargo install ripgrep" you'd now install ripgrep through mise and could also have multiple versions of it.

Maybe ripgrep is a bad example but imagine needing different versions of some dev tooling that can be installed with cargo install in different projects.

Edit: thought you were asking about the npm and cargo backends specifically.

maleldil 4 days ago|||
You might need different versions of node, python, etc., depending on the project. mise can manage those different versions for you, including installing and automatically enabling the correct version for each project.
vsviridov 5 days ago|||
I wish they had some direct envrc support, so that legacy projects wouldn't have to be migrated to mise.toml
linhns 5 days ago|||
Somewhat, but it’s easier to use than asdf
micvbang 5 days ago||
Yep! And direnv on top of that :)