Live data from Hacker News

Asdf – An Extendable Version Manager

asdf-vm.com

61–70 of 100 posts

Re: Asdf – An Extendable Version Manager

#61
Does anyone know a good way for asdf to inform which versions are installed in container?

I feel like I keep having to hack together ways to do the same thing when building containers for apps build with asdf. (Github actions, dockerfile, heroku, etc)

Re: Asdf – An Extendable Version Manager

#62
post #7

I've been using it and has contributed to it, but I wish it supported out of the box GitHub-based release binaries as 90% of my code for different vendors was relatively the same, so, instead of having multiple identical repositories, I created one, which uses introspection [0]. I wish this was available out of the box to handle literary 90% of the tools. Also, I typically pair it with direnv [1] for even more magic.…

Magic. This is not what I'd like to see around my code and my systems. I'd prefer everything about them to be transparent and explainable.

(My favorite worth-1000-words picture about that is e.g. here: http://www.tshirtvortex.net/free-magic/)

Re: Asdf – An Extendable Version Manager

#63
post #7

I've been using it and has contributed to it, but I wish it supported out of the box GitHub-based release binaries as 90% of my code for different vendors was relatively the same, so, instead of having multiple identical repositories, I created one, which uses introspection [0]. I wish this was available out of the box to handle literary 90% of the tools. Also, I typically pair it with direnv [1] for even more magic.…

Can this replace the broken and horrible tools of rbenv, pyenv, and pipenv? I shudder whenever a new version comes out what it does to my shell when I have a broken version (included as the latest from the output from pyenv globals or some such)

pyenv and pipenv are two very different things. pipenv is desperately broken, and should be avoided; Poetry is one good alternative. pyenv, on the other hand, is great.

Re: Asdf – An Extendable Version Manager

#64
post #7

I've been using it and has contributed to it, but I wish it supported out of the box GitHub-based release binaries as 90% of my code for different vendors was relatively the same, so, instead of having multiple identical repositories, I created one, which uses introspection [0]. I wish this was available out of the box to handle literary 90% of the tools. Also, I typically pair it with direnv [1] for even more magic.…

Seeing all the love for direnv makes me feel like I'm the only one taking crazy pills. Direnv breaks referential transparency of the shell. I heavily use my shell history to riff on commandlines I've entered in the past. If direnv is in the mix, my shell pipelines sometimes have to have `cd` in them, often in subshells because that works better for me than pushd/popd. pyenv/rbenv/asdf do the same thing, but you can h…

Although I agree in general, direnv is pretty transparent. For example, you need to approve any change in .envrc and it's pretty verbose. It also solves another big issue for me - I no longer have to install globals like with "npm i -g"and I can use "pip install --user" without trading off convenience and using weird relative bin paths!

Re: Asdf – An Extendable Version Manager

#65
post #49

We started using this for elixir/erlang and quickly replaced all the other version managers company-wide. The only issue we've really had is that sometimes people don't understand reshim and when they need to do it.

When does one need to use reshim?

Re: Asdf – An Extendable Version Manager

#66

Not the ASDF ( https://common-lisp.net/project/asdf/ ) I was expecting.

Yeah I'm not usually a "hey there's another project with that name" kinda guy but, build manager and version manager?

Isn't there some other part of the keyboard they could have mashed?

Re: Asdf – An Extendable Version Manager

#68
post #67

Tried asdf few months ago but couldn't get warm with it. Went back to nvm for node and just venv/ for Python. Anyone went back too and if yes, why? Thinking of giving it another try.

Yes. I tried it, ended up writing my own node version manager inspired by chruby, then went back to asdf and have been so glad I made the switch back. It's performant, it makes it easy to manage all the things where I care about using a specific version so easy, and the maintainers are super responsive and engaged.

Re: Asdf – An Extendable Version Manager

#70
post #61

Does anyone know a good way for asdf to inform which versions are installed in container? I feel like I keep having to hack together ways to do the same thing when building containers for apps build with asdf. (Github actions, dockerfile, heroku, etc)

I don't think using asdf in your container builds is a good idea tbh. You should pin your container to a specific version, or perhaps set the base image version by parsing the .tool-version file.
Post reply on HN