Metawork for Ruby

This page covers troubleshooting information specific to Metawork for Ruby.

Bundling

Once you install Metawork for Ruby using mw install ruby, you’ll need to rebundle your application.

Bootsnap

If you use the Bootsnap gem, the Bootsnap cache must be cleared when activating or deactivating Metawork for Ruby or the application will not start.

In typical configurations, this cache is stored in the tmp/ subdirectory of your project directory and can safely be deleted.

Ruby version managers

TL;DR
Version managers such as rbenv, RVM, and asdf typically set the PATH environment variable to manage installed runtimes. This can conflict with finding the Metawork for Ruby runtime. This can result in an error generated by your version manager, either because Metawork for Ruby is not running, or because Metawork for Ruby is running in addition to your previously-installed Ruby.

If you run into this error during the alpha, uninstall your version manager because Metawork will double as one. Work is underway to make Metawork compatible with major Ruby version managers for GA. If you’re unable to remove your version manager, please join the Metawork Discord and we’ll make every effort to help you get set up.

The details
When you run a command like ruby or rake, your operating system searches through a list of directories to find an executable file with that name. This list of directories lives in an environment variable called PATH, with each directory in the list separated by a colon:

/usr/local/bin:/usr/bin:/bin

Version managers such as rbenv, RVM, and asdf typically set the PATH environment variable to a specific location based on the Ruby version they are running on your machine.

In order to use Metawork, you run Metawork’s supercharged version of the Ruby runtime on your machine. This means that if you are running a version manager with the PATH set to its specifications, your application may not successfully boot on the Metawork for Ruby runtime. This usually results in an error generated by your version manager, either because Metawork for Ruby is not running, or because Metawork for Ruby is running in addition to your previously-installed Ruby.