ruby-on-rails - 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 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 version 2.1.4
在检查 bundler 的版本时。
我无法弄清楚为什么该任务使用完全不同的 ruby 和 bundler 版本。
解决方案
你也在用 bundle 运行你的 rails 服务器吗?喜欢:
$ bundle exec rails s
因为 bundle 将使用 Gemfile 中的 gem,而不是尝试全局查找它们。
如果您已经在使用 with bundle exec
,返回的是什么:
$ which ruby
$ which bundle
推荐阅读
- python - 从 Python 3 中的并行文件夹导入。如何做得很好?
- javascript - 角度上的 jsplumbtoolkit 未正确应用锚点
- c# - Gulp 任务未完成如何等待 Promis 解决?
- google-sheets - 如何使用 Google 表格中另一个单元格中的日期值在日期列上应用条件格式?
- linux - gdb 不适用于 xv6:在 qemu-nox-gdb 之后冻结
- android-studio - Kotlin Multiplatform Mobile 找不到 klib 包
- reactjs - 通过 Formik 向服务器发送数据
- asp.net-core - ASP.NET Core 中的 gRPC 身份验证,正确响应
- reactjs - 在异步函数中捕获错误时,useEffect in react 不重新渲染
- deployment - Nvidia v100 和 RTX 3090Ti 可用于部署