hit this on first mise install while setting up to work on #18. small doc-fix proposal below, two options for the maintainer to pick.
What I observed
On a fresh clone, the first mise install fails on macOS arm64 because ruby-build tries to compile Ruby 3.4.7 from source and the psych extension cannot be configured against the system libyaml. The full error tail:
*** Following extensions are not compiled:
psych:
Could not be configured. It will not be installed.
Check /var/folders/.../ruby-build.../mkmf.log for more details.
BUILD FAILED (macOS 15.0.1 on arm64 using ruby-build 20260512)
mise prints a relevant WARN immediately before attempting the build:
mise WARN precompiled ruby will be the default in 2026.8.0.
To use precompiled binaries now: mise settings ruby.compile=false
Applying that one setting and re-running mise install completes cleanly: Ruby 3.4.7 precompiled binary downloads, license_finder-7.2.1 installs, and mise run build + mise run test are both green.
What I expected
mise install to succeed end-to-end on a supported developer platform without a manual config tweak. The existing Troubleshooting > Common Setup Issues section in CONTRIBUTING.md already covers a generic mise install fails case (reinstall mise, reload shell), but doesn't cover this specific macOS arm64 Ruby psych compile path, where mise itself installs cleanly and only the Ruby toolchain step fails.
Scope caveat
The root cause is in mise / ruby-build / libyaml on macOS arm64, not in this repo. Once mise 2026.8.0 ships precompiled Ruby as the default, the problem disappears on its own. Until then, every macOS arm64 contributor doing a fresh mise install will hit this on first run.
What I'd propose to change
Two options, in order of smaller blast radius. Happy to send a PR for whichever you prefer, or neither if you'd rather wait for mise 2026.8.0.
Option 1 (documentation only): Add a new entry to the existing Troubleshooting > Common Setup Issues section in CONTRIBUTING.md (around line 381), alongside the current mise install fails and go mod download fails with timeout entries. Approximate shape:
mise install fails compiling Ruby on macOS arm64
ruby-build attempts to compile Ruby 3.4.7 from source and the psych extension cannot find libyaml. Fix:
mise settings ruby.compile=false
mise install
This uses mise's precompiled Ruby binaries, which will become the default in mise 2026.8.0.
Alternative: extend the existing mise install fails entry to include this case as a sub-bullet rather than create a new entry. Either shape works.
Option 2 (config pin): Add [settings] ruby.compile = false to mise.toml. This removes the workaround entirely for all contributors. The trade-off is one extra line of config inherited by every developer, including those who would prefer source builds, and it overlaps the behavior mise will adopt by default in 2026.8.0.
Lean toward Option 1 unless you're already considering pinning settings in mise.toml.
Reproduction
git clone https://github.com/<fork>/external-agents.git
cd external-agents
curl https://mise.run | sh
~/.local/bin/mise trust
~/.local/bin/mise install
# fails on Ruby 3.4.7 psych extension
~/.local/bin/mise settings ruby.compile=false
~/.local/bin/mise install
# succeeds
Environment
- OS: macOS 15.0.1, arm64 (Apple Silicon)
- mise: 2026.5.12 macos-arm64
- Go (after
mise install succeeds): go1.26.0 darwin/arm64
- ruby-build: 20260512 (bundled by mise)
- Shell: zsh
hit this on first
mise installwhile setting up to work on #18. small doc-fix proposal below, two options for the maintainer to pick.What I observed
On a fresh clone, the first
mise installfails on macOS arm64 because ruby-build tries to compile Ruby 3.4.7 from source and the psych extension cannot be configured against the system libyaml. The full error tail:mise prints a relevant WARN immediately before attempting the build:
Applying that one setting and re-running
mise installcompletes cleanly: Ruby 3.4.7 precompiled binary downloads,license_finder-7.2.1installs, andmise run build+mise run testare both green.What I expected
mise installto succeed end-to-end on a supported developer platform without a manual config tweak. The existingTroubleshooting > Common Setup Issuessection in CONTRIBUTING.md already covers a genericmise install failscase (reinstall mise, reload shell), but doesn't cover this specific macOS arm64 Ruby psych compile path, where mise itself installs cleanly and only the Ruby toolchain step fails.Scope caveat
The root cause is in mise / ruby-build / libyaml on macOS arm64, not in this repo. Once mise 2026.8.0 ships precompiled Ruby as the default, the problem disappears on its own. Until then, every macOS arm64 contributor doing a fresh
mise installwill hit this on first run.What I'd propose to change
Two options, in order of smaller blast radius. Happy to send a PR for whichever you prefer, or neither if you'd rather wait for mise 2026.8.0.
Option 1 (documentation only): Add a new entry to the existing
Troubleshooting > Common Setup Issuessection in CONTRIBUTING.md (around line 381), alongside the currentmise install failsandgo mod download fails with timeoutentries. Approximate shape:Alternative: extend the existing
mise install failsentry to include this case as a sub-bullet rather than create a new entry. Either shape works.Option 2 (config pin): Add
[settings] ruby.compile = falsetomise.toml. This removes the workaround entirely for all contributors. The trade-off is one extra line of config inherited by every developer, including those who would prefer source builds, and it overlaps the behavior mise will adopt by default in 2026.8.0.Lean toward Option 1 unless you're already considering pinning settings in
mise.toml.Reproduction
Environment
mise installsucceeds): go1.26.0 darwin/arm64