Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mise install-into node@20 ~/.nodes/20 #1039

Open
jdx opened this issue Dec 1, 2023 · 6 comments
Open

mise install-into node@20 ~/.nodes/20 #1039

jdx opened this issue Dec 1, 2023 · 6 comments
Labels
enhancement New feature or request

Comments

@jdx
Copy link
Owner

jdx commented Dec 1, 2023

I want a way to use rtx to install a tool to an arbitrary directory (one not managed by rtx). This way rtx can be a replacement for tools like node-build and you can use it to just fetch tools with a consistent syntax.

I'm open to ideas on the naming. Some thoughts:

  • rtx install --to|--into—not really a fan since it's quite different behavior and syntax (this can only support a single tool and doesn't reference .tool-versions files)
  • rtx install-direct
  • rtx install-export
  • rtx export
@jdx jdx added the enhancement New feature or request label Dec 1, 2023
@eugene1g
Copy link

eugene1g commented Dec 1, 2023

Maybe rtx install-standalone node@20 ~/.nodes/20

@jdx
Copy link
Owner Author

jdx commented Dec 3, 2023

kind of a silly one: rtx gimme node@20 ~/.nodes/20

@jdx
Copy link
Owner Author

jdx commented Dec 13, 2023

rtx build node@20 ~/.nodes/20?

@BuildBackBuehler
Copy link

I'd also like this.

I'll mention mise integrate python@xxx but I'd prefer plain ol' mise install python@xxx -s / --sys / --system

And there could be an environmental variable one could set for that sys. path if it differs from the standard/default sys. path. Or when you call mise install...--sys [insert-your-path-here]...this way you could also modify the end path folder name to whatever the heck you want...like GardenVarietyPython3.12 for example.

@sschuberth
Copy link

sschuberth commented Apr 14, 2024

Just chiming in to express my interest in this in the context of #512 / #996 still. So far my approach was to make stuff that went to ~/.local/share/mise/installs relocatable after installation, but I keep running into different issues depending on the underlying tool build:

  • ELF RUNPATHs need to be patched
  • absolute symbolic links need to be turned into relative ones
  • sheband lines need to be adjusted

and probably more. I also tried to customize e.g. the Ruby build by passing RUBY_PREFIX_PATH=.. mise install ruby, but that fails in a post-build step then as mise runs ~/.local/share/mise/installs/ruby/3.3.0/bin/ruby -v. So I'd highly appreciate a built-in solution for this.

Naming wise, as a user I would have expected this to be an option for install, even if it'd work a bit differently. Any of --prefix, --target, --to, --stand-alone and similar would make sense to me.

Alternatively, a new mise relocate command could take care of this my moving already existing installs to a new location, taking care of all the patching etc. that would need to be done.

@sschuberth
Copy link

Another idea, in addition to MISE_DATA_DIR, add MISE_INSTALL_DIR.

@jdx jdx pinned this issue May 30, 2024
@jdx jdx changed the title rtx install-into node@20 ~/.nodes/20 mise install-into node@20 ~/.nodes/20 May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants