【发布时间】:2021-10-13 05:19:20
【问题描述】:
在我的 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 global 和 rbenv local 都设置为2.7.2
目前,运行 rbenv versions 返回
- 系统
- *2.7.2(由 /home/user_name/myProject/my_project/.ruby-version 设置)
我的 Gemfile.lock 和 .ruby-version 文件都指定了 ruby 2.7.2 版本。
另外,在运行服务器时,我收到消息“Bundler (2.1.2) 的运行版本比创建锁定文件 (2.1.4) 的版本旧”,而 bundler 的版本是 Bundler version 2.1.4 .
我不明白为什么任务使用完全不同的 ruby 和 bundler 版本。
【问题讨论】:
-
你试过
bundle exec rails s吗? -
错误信息:
the running version of Bundler....与问题无关,与问题无关。 -
一个可能的罪魁祸首是您在 ruby 安装之间存在冲突 - 例如。您还安装了系统
ruby,或使用了多个版本管理器,例如rvm。 -
我知道这与@TomLord 无关。我想指出的是,使用
bundle exec rails s应该避免系统红宝石并使用 Gemfile 中指定的红宝石。 -
@rdalpra 您从未在问题中提及
bundle exec。您刚刚说“运行服务器时”。如果您仅针对 ruby2.7.2安装了捆绑程序版本2.1.2,则该警告仍然可能出现。要解决这个问题,您需要gem update bundler,但就像我上面所说的,我非常怀疑这会对您的核心问题产生影响。
标签: ruby-on-rails ruby rbenv