Skip to content

First mise install on macOS arm64 fails compiling Ruby psych extension #31

@DevanshuNEU

Description

@DevanshuNEU

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions