Live data from Hacker News

Install Asdf: One Runtime Manager to Rule All Dev Environments

jdsalaro.com

121–130 of 132 posts

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#121
post #43

Earlier quoted context omitted.

Yeah… but then you get nix’s problems. - steep steep learning curve, so your team is split between those who can understand it and those who have to blindly follow checklists and ask for help when something breaks - it doesn’t play well on macOS

How doesnt it play well one MacOS? I've been using Nix Home Manager + Nix Darwin as my package manager, and Direnv + Nix Shell for developer environments; and havent had any problems (yet). Is there something I should be aware of? Agree about the learning curve; but I am going to experience onboarding my coworkers onto using Nix only for developer environments over the next months; I feel the curve is not quite that…

Every time macOS has updated, I’ve had to reinstall Nix. Which I guess is in part a consequence of Nix not supporting single user installs on macOS.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#122

Earlier quoted context omitted.

there's something I don't get, why do you have globally installed tools that asdf can manage at the same time that you have asdf installed?

So that in any directory you can type ` `? asdf Node installs aren't like Python virtual environments; they're centrally installed and one Node version (and its packages) is shared across all diretories that want it + global tools.

> So that in any directory you can type ``?

Any tool installed via asdf is available on any directory as long as you are accessing that directory via a shell spawned with a .profilerc or similar which contains your asdf configuration.

> asdf Node installs aren't like Python virtual environments

Correct, neither should they be.

> they're centrally installed and one Node version (and its packages) is shared across all diretories

sure, they are, and that's by design. You're conflating a runtime manager with a package manager. Venvs are _not_ runtime manager, the moment you need another Python version you're done for. asdf.vm is _not_ a package manager, the moment you want package isolation while working on an asdf install is the moment you install yourself pipenv, poetry, pdm or use python venvs for that.

> that want it + global tools.

which is achieved as I've shown below. Still, there was no reason in your usecase to modify or play with globally installed tools besides asdf, through which you can then define global runtime versions and those global versions will hold your global tools, usable wherever.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#123
Thanks to OP for mentioning vfox (version-fox) in the article. vfox as a project just five months ago, there is still a lot to do, welcome to those who use Windows as a development environment, to participate in the construction of the vfox plug-in ecosystem.

https://github.com/version-fox/vfox

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#124

Earlier quoted context omitted.

pyenv + pip tools is all one needs. Supposedly uv is gunning to be a drop in for both. I think there’s a good chance uv pulls it off and becomes defacto for this use case. I think it’s fair to see appeal in poetry, but ultimately the maintainers have created a culture that feels a bit too non-collaborative to outside ideas or use cases beyond what they more narrowly envisage. That said, my perspective may just be tai…

> pyenv + pip tools then you'd also need rbenv, nvm, etc. and pyenv can implode in marvelous ways.

Been using pyenv daily for years now. In what way could it implode? It's worked great so far.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#125

I created https://github.com/jrz/container-shell to add a layer of security / isolation in addition to tools like asdf.

Nice, I've been thinking about building something similar. However, I'd still like to use my shell configuration/dotfiles inside the container (and I'd like my team mates to be able to do the same) and, so far, I haven't really found a good solution for that.

If the dotfiles are in the project dir, they'll be exposed of course. If not, perhaps a bind mount from ~/.config would work, but it could also unintentionally expose files on the host. It is possible to bind-mount individual files, so perhaps having a list of exposed config files / mappings could work.

The problem with this is that docker doesn't like it when not all mounts are found, so within a team it requires something more sophisticated.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#126
post #43

Earlier quoted context omitted.

How doesnt it play well one MacOS? I've been using Nix Home Manager + Nix Darwin as my package manager, and Direnv + Nix Shell for developer environments; and havent had any problems (yet). Is there something I should be aware of? Agree about the learning curve; but I am going to experience onboarding my coworkers onto using Nix only for developer environments over the next months; I feel the curve is not quite that…

Every time macOS has updated, I’ve had to reinstall Nix. Which I guess is in part a consequence of Nix not supporting single user installs on macOS.

I have not had that problem. Only thing I have to do when I update Nix after a MacOS update is to move /etc/shells to something like /etc/shells.old

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#127

I’m liking pkgx over asdf as it can activate project tooling upon cd’ing into a project folder. https://pkgx.sh

wait wuuut? I don't get it, I do this with asdf using the `.tool-versions` file. What's the difference/improvement?

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#130
post #53

Earlier quoted context omitted.

pip-tools[0] is all most things need IMO. It’s a great balance of simplicity and utility. [0] https://pip-tools.readthedocs.io/en/stable/ As for Poetry, it is constantly improving and has gotten very popular. It should not be dismissed, especially for larger projects since its dependency management is so much better than pipenv. This is a good primer: https://diegoquintanav.github.io/poetry-primer.html

pyenv + pip tools is all one needs. Supposedly uv is gunning to be a drop in for both. I think there’s a good chance uv pulls it off and becomes defacto for this use case. I think it’s fair to see appeal in poetry, but ultimately the maintainers have created a culture that feels a bit too non-collaborative to outside ideas or use cases beyond what they more narrowly envisage. That said, my perspective may just be tai…

[deleted]
Post reply on HN