首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails中,如何通过ruby-install在不同版本的Ruby上运行多个版本的puma-dev?

在Rails中,如何通过ruby-install在不同版本的Ruby上运行多个版本的puma-dev?
EN

Stack Overflow用户
提问于 2022-05-23 13:51:20
回答 1查看 159关注 0票数 1

我有许多不同的Rails应用程序使用puma-dev

我已经使用Rails启动了一个新的Rails应用程序,它在本地主机上工作得很好,但是当我通过3+访问站点时,我会发现一个错误。这是因为我认为puma-dev使用了错误的Ruby版本来启动这个应用程序。

puma dev日志显示了此错误:

代码语言:javascript
复制
! 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-installchruby来选择不同的Rubies。

如何使puma-dev使用通过ruby-install安装的ruby版本,以便所有不同的应用程序都可以使用不同版本的Ruby?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-26 16:01:47

看起来,在所有情况下,puma-dev与chruby并不完全兼容。但是,可以通过在Rails项目文件夹中创建一个.pumaenv文件来解决这个问题:

代码语言:javascript
复制
# Load chruby
source /usr/local/share/chruby/chruby.sh

# Change to your desired Ruby version
chruby ruby-3.1.2 

请根据您的系统安装chruby.sh文件的位置进行调整。

如果希望使设置与.ruby-version文件兼容,则可以这样做:

代码语言:javascript
复制
source /usr/local/share/chruby/chruby.sh
chruby $(cat .ruby-version)

有关此主题的进一步讨论,请参阅puma-dev问题:

https://github.com/puma/puma-dev/issues/53

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72349733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档