chruby vs mise
chruby
github.commise
mise.jdx.devSide by side
| Figure | chruby | mise |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Runtime Version Managers | 7.9 (#7) | 7.7 (#12) |
| Spec score · Development Environment Managers | 7.9 (#17) | 7.6 (#31) |
| License | The repository identifies its license as MIT. | The project is open source and MIT licensed. |
| Purpose | chruby changes the current Ruby version in a shell. | mise manages development tools, environment variables, and project tasks through a project configuration file. |
| Shell support | It supports bash 3 or later and zsh. | Shell hooks are listed for bash, zsh, fish, nushell, PowerShell, and other shells. |
Plans
In their own words
chruby
chruby is a free, MIT-licensed shell utility for changing the Ruby version used in a session. Selecting a Ruby updates PATH and sets GEM_HOME and GEM_PATH for that installation. It can match installed Ruby names fuzzily and uses the system Ruby when no selection is made. Optional automatic switching checks the current and parent directories for a .ruby-version file. chruby supports bash 3 or later and zsh on Linux and macOS. Installation instructions cover a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports. Additional Ruby implementations can be installed with ruby-install or ruby-build. The project provides guidance for integrations including Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish. Releases are PGP signed, with verification instructions, and the codebase is described as about 100 lines with tests.
mise
mise is a free, MIT-licensed open-source tool for managing development runtimes, command-line tools, environment variables, and project tasks from a configuration file. It runs on Linux, macOS, and Windows and lists a registry of more than 1,000 tools. Projects can pin tool versions and share those choices with teams and continuous-integration systems. Configuration can load variables from dotenv files, secrets, and shell commands. Tasks can define build, test, lint, and other commands with dependencies and arguments, with task graphs, affected-build handling, and remote caching listed. The bootstrap command can declare packages, dotfiles, repositories, and services for machine setup. Shell hooks cover bash, zsh, fish, nushell, PowerShell, and other shells. Documentation describes GitHub Actions, GitLab CI, and Xcode Cloud use. Community plugins are listed for Emacs, IntelliJ, Neovim, and VSCode, with support depending on editor, extension, and language. Security controls include trust settings, safe and paranoid modes, checksums, signatures, provenance, and artifact attestations.