Skip to content

Fix setup runtime resolution - #23

Open
focusshifter wants to merge 1 commit into
mainfrom
fix/runtime-manager-setup
Open

Fix setup runtime resolution#23
focusshifter wants to merge 1 commit into
mainfrom
fix/runtime-manager-setup

Conversation

@focusshifter

@focusshifter focusshifter commented Jul 22, 2026

Copy link
Copy Markdown

Why

The development-environment task could fall back to macOS system Ruby because setup commands run in non-interactive login shells, while mise/asdf activation was written to the interactive shell RC file. This made bundle resolve to /usr/bin/bundle after the Factorial Ruby update.

The installer also duplicated the required Bundler version in Welcome, allowing it to drift from backend/Gemfile.lock.

What changed

  • Execute Ruby and Node commands explicitly through the selected version manager.
  • Read and install the exact BUNDLED WITH version from backend/Gemfile.lock.
  • Avoid installing gems with the system Ruby or elevated privileges.
  • Make dependency-install commands fail loudly.

Impact

Fresh setup and retry flows now use the repository-pinned runtimes even when the user's shell RC has not been loaded yet. Future Bundler upgrades require no matching constant update in Welcome.

The existing global @latest runtime installation remains unchanged so developers still receive current global defaults before the repository-specific versions are installed.

Validation

  • npm run build
  • npm run lint
  • npm run format:check
  • git diff --check
  • Verified from a deliberately non-activated shell that unmanaged commands resolve to /usr/bin/ruby and /usr/bin/bundle, while mise exec resolves Ruby 3.4.8 and Bundler 2.5.11 from the Factorial repository.

@focusshifter
focusshifter force-pushed the fix/runtime-manager-setup branch from 236153f to 989b90f Compare July 22, 2026 10:49
@focusshifter
focusshifter marked this pull request as ready for review July 22, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant