首页 > 解决方案 > Rails 服务器使用的 ruby​​ 版本与 rbenv 指定的不同

问题描述

在我的 rails 项目中,当我尝试运行 rails 服务器时,出现以下错误:

Your Ruby version is 2.7.0, but your Gemfile specified 2.7.2

但是,当我跑步时,ruby --version我得到:

ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]

此外,rbenv globalrbenv local都设置为2.7.2

目前,跑步rbenv versions返回

我的Gemfile.lock.ruby-version文件都指定了 ruby​​ 2.7.2 版本。

此外,在运行服务器时,我收到消息“Bundler (2.1.2) 的运行版本比创建锁定文件 (2.1.4) 的版本旧”,而Bundler version 2.1.4在检查 bundler 的版本时。

我无法弄清楚为什么该任务使用完全不同的 ruby​​ 和 bundler 版本。

标签: ruby-on-railsrubyrbenv

解决方案


你也在用 bundle 运行你的 rails 服务器吗?喜欢:

$ bundle exec rails s

因为 bundle 将使用 Gemfile 中的 gem,而不是尝试全局查找它们。

如果您已经在使用 with bundle exec,返回的是什么:

$ which ruby
$ which bundle

推荐阅读