Ruby puma-dev 使用错误版本的 ruby

问题描述 投票:0回答:2

我已经调试了大约一周,但没有任何进展,所以我想我应该把它带到这里。我已经为此进行了研究并盯着其他 StackOverflow 解决方案几个小时,但没有取得任何进展。目前在 ruby 2.6.5 上运行 puma-dev。每当我运行

puma-dev
时,这就是我收到的错误消息。 (出于安全原因更改项目名称和其他一些名称):

* Directory for apps: /Users/(myname)/.puma-dev
* Domains: test
* DNS Server port: 9253
* HTTP Server port: 9280
* HTTPS Server port: 9283
! Puma dev running...
! Booting app 'docugenerator-02fe76f7' on socket /Users/(myname)/.puma-dev/docugen/tmp/puma-dev-3410.sock
docugenerator-02fe76f7[3421]: sh: no job control in this shell
docugenerator-02fe76f7[3421]: Puma starting in single mode...
docugenerator-02fe76f7[3421]: * Version 4.3.8 (ruby 2.6.3-p62), codename: Mysterious Traveller
docugenerator-02fe76f7[3421]: * Min threads: 0, max threads: 5
docugenerator-02fe76f7[3421]: * Environment: development
docugenerator-02fe76f7[3421]: ! Unable to load application: Bundler::RubyVersionMismatch: Your Ruby version is 2.6.3, but your Gemfile specified 2.6.5
docugenerator-02fe76f7[3421]: /Library/Ruby/Gems/2.6.0/gems/bundler-2.1.4/lib/bundler/definition.rb:495:in `validate_ruby!': Your Ruby version is 2.6.3, but your Gemfile specified 2.6.5 (Bundler::RubyVersionMismatch)

到目前为止我尝试过的事情是:

  • 重新安装 puma-dev
  • 重新启动计算机
  • 改变
    .env
    .powenv
  • rbenv global
    更改为 2.6.5

到目前为止,我没有取得任何进展,每次重新加载页面或重新启动 puma-dev 服务器时都会出现错误。如有任何提示或帮助,我们将不胜感激。

ruby-on-rails ruby puma puma-dev
2个回答
0
投票

puma 似乎运行在错误的 ruby 版本中。 rbenv 通过多种方式确定要使用的 ruby 版本(请参阅: https://github.com/rbenv/rbenv#choosing-the-ruby-version ),并且您需要确保 rbenv 尝试使用的 ruby 版本的顺序确定是正确的。最直接的方法是在您的项目中创建一个

.ruby-version

.ruby 版本

2.6.5

0
投票

您的 ruby 版本之间不匹配。

将 gem 文件从

ruby '2.6.5'
更新为
ruby '2.6.3'
。 你需要确保使用rbenv或rvm(我使用的)来安装2.6.3版本,你可以使用
rvm install 2.6.3

此外,正确的捆绑程序版本必须是

2.1.4
-
gem install bundler -v '2.1.4'
。您需要通过运行
bundle update --ruby
来更新 Gemfile.lock。

完成后,重新启动 puma 并再次检查。

在终端上验证 ruby 版本 -

ruby -v
应显示为 Ruby 2.6.3

让我知道这是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.