I have many different Rails apps using puma-dev
.
I have started a new Rails app using Ruby 3+ which works great on localhost, however when I visit the site via puma-dev
I get an error. This is because I think puma-dev
is using the wrong version of Ruby to start the app.
The puma dev logs show this error:
! Unable to load application: Bundler::RubyVersionMismatch: Your Ruby version is 2.6.6, but your Gemfile specified 3.1.2
/Users/abc/.gem/ruby/2.6.6/gems/bundler-2.2.28/lib/bundler/definition.rb:441:in `validate_ruby!': Your Ruby version is 2.6.6, but your Gemfile specified 3.1.2 (Bundler::RubyVersionMismatch)
I’m using ruby-install
and chruby
to select differernt Rubies.
How do I go about making puma-dev
use the versions of ruby installed via ruby-install
so that all my different apps can use differnt versions of Ruby?
It seems puma-dev is not fully compatible with chruby in all situations. But this can be fixed by creating a
.pumaenv
file in your Rails project folder:Please adjust according to where your
chruby.sh
file is installed on your system.If you want to make the setup compatible with
.ruby-version
files, you could do this instead:For further discussion on this topic see this puma-dev issue:
https://github.com/puma/puma-dev/issues/53