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

bug: Failed install of Ruby shows as installed when using asdf list #1910

Open
KieranP opened this issue Feb 7, 2025 · 3 comments
Open

bug: Failed install of Ruby shows as installed when using asdf list #1910

KieranP opened this issue Feb 7, 2025 · 3 comments
Labels

Comments

@KieranP
Copy link

KieranP commented Feb 7, 2025

Describe the Bug

Try to compile Ruby with YJIT but without Rust being present. The compile fails. However, asdf shows ruby as being installed. asdf list shows the failed version as being available. And running asdf install ruby 3.4.1 says "already installed" even though it wasn't, and the ruby binaries are missing.

Steps to Reproduce

See above

Expected Behaviour

Should cleanup after failed install

Actual Behaviour

Leaves failed install folder, asdf thinks it is installed`

Environment

› asdf info
OS:
Darwin Kierans-MacBook-Pro.local 24.3.0 Darwin Kernel Version 24.3.0: Thu Jan  2 20:24:24 PST 2025; root:xnu-11215.81.4~3/RELEASE_ARM64_T6030 arm64

SHELL:
zsh 5.9 (arm64-apple-darwin24.0)

BASH VERSION:
3.2.57(1)-release

ASDF VERSION:
0.16.1

ASDF INTERNAL VARIABLES:
ASDF_DEFAULT_TOOL_VERSIONS_FILENAME=.tool-versions
ASDF_DATA_DIR=/Users/kieran/.asdf
ASDF_CONFIG_FILE=/Users/kieran/.asdfrc

ASDF INSTALLED PLUGINS:
nodejs    https://github.com/asdf-vm/asdf-nodejs.git  93bd217ba74f05080eebb7d8e1c146a385b01d7f
ruby      https://github.com/asdf-vm/asdf-ruby.git    98e32b9c38e146b164d651c96ccb6d5fa4c3af90
rust      https://github.com/code-lever/asdf-rust.git 95acf4fe65df1de74fca502482b8f3ac5af73c05

asdf plugins affected (if relevant)

No response

@KieranP KieranP added the bug label Feb 7, 2025
@jpgomezt
Copy link

jpgomezt commented Feb 7, 2025

I had a similar issue yesterday with java when upgrading to asdf 0.16.1
Make sure you have followed this steps (doesn't matter if you already are in 0.16.1) and after that, uninstall and reinstall all plugins
Even tho they appear as installed, for some reason the binaries are not there and the shim was not working correctly
Also, make sure you have the ruby dependencies installed: brew install openssl@3 readline libyaml gmp autoconf. I suppose you are using brew, and in my case, when I updated the asdf cask, it removed some libraries some plugins were needing.
Hope this helps you!

@KieranP
Copy link
Author

KieranP commented Feb 7, 2025

@jpgomezt The issue I reported was after a complete refresh (uninstalled all plugins and reinstalled). I forgot to asdf install rust ... before trying to install ruby, and the ruby compile failed, but asdf kept the version folder in place, so asdf list showed it as installed and trying to install again said "already installed" when it wasn't because of failed compile. I had to run asdf uninstall even though it wasn't properly installed to begin with. Looks like v0.16 is missing cleanup code when install fails.

@genezys
Copy link

genezys commented Feb 7, 2025

I had the same issue when trying to install the latest Ruby with an old Ruby plugin.

$ asdf install              
Version not found

If this is a new Ruby version, you may need to update the plugin:
asdf plugin update ruby
failed to run install callback: exit status 1

$ asdf plugin update ruby
updated ruby to ref refs/heads/master

$ asdf install           
version {version 3.4.1} of ruby is already installed

$ ls -l ~/.asdf/installs/ruby/3.4.1/   
total 0

$ rmdir ~/.asdf/installs/ruby/3.4.1/

$ asdf install                      
Downloading ruby-build...
==> Downloading ruby-3.4.1.tar.gz...
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants