我有许多不同的Rails应用程序使用puma-dev。
我已经使用Rails启动了一个新的Rails应用程序,它在本地主机上工作得很好,但是当我通过3+访问站点时,我会发现一个错误。这是因为我认为puma-dev使用了错误的Ruby版本来启动这个应用程序。
puma dev日志显示了此错误:
! 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)我使用ruby-install和chruby来选择不同的Rubies。
如何使puma-dev使用通过ruby-install安装的ruby版本,以便所有不同的应用程序都可以使用不同版本的Ruby?
发布于 2022-05-26 16:01:47
看起来,在所有情况下,puma-dev与chruby并不完全兼容。但是,可以通过在Rails项目文件夹中创建一个.pumaenv文件来解决这个问题:
# Load chruby
source /usr/local/share/chruby/chruby.sh
# Change to your desired Ruby version
chruby ruby-3.1.2 请根据您的系统安装chruby.sh文件的位置进行调整。
如果希望使设置与.ruby-version文件兼容,则可以这样做:
source /usr/local/share/chruby/chruby.sh
chruby $(cat .ruby-version)有关此主题的进一步讨论,请参阅puma-dev问题:
https://stackoverflow.com/questions/72349733
复制相似问题