【问题标题】:Rbenv not using the correct versionRbenv 没有使用正确的版本
【发布时间】:2019-05-19 20:03:35
【问题描述】:

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

Your Ruby version is 2.3.7, but your Gemfile specified 2.5.3

但是,当我运行 ruby --version 时,我得到:

ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]

...运行 rbenv version 给了我:

2.5.3 (set by /Users/jamesmulholland/proj/repo-name/.ruby-version)

是什么导致此处使用了错误的 Ruby 版本,我该如何解决?


其他上下文和失败的修复

  • 运行rbenv versions 给出: system 2.5.3 (set by /Users/jamesmulholland/proj/repo-name/.ruby-version)`

  • 在从 Ruby 2.5.1 迁移到 Ruby 2.5.3 期间出现此问题。同时,我从 rvm 转到 rbenv。我怀疑我可能在运行rm -rf ~/.rvm 而不是rvm implode 时错误地卸载了rvm,但/etc/rbenv/ 为空并且运行rvm 命令失败。 rvm 已从我的 .zshrc 中删除。当我在这种卸载 rvm 的方法之后继续遇到这个问题时,我重新安装了 rvm 并使用rvm implode 进程卸载,以防有任何其他导致问题的 rvm 痕迹留下。这也未能解决问题。

  • 我完全删除了该目录并从 GitHub 中提取了一个新副本。没有成功。
  • 签出旧提交并不能修复错误(我得到的是Your Ruby version is 2.3.7, but your Gemfile specified 2.5.1
  • 该应用程序在我同事的计算机上运行良好。
  • 我的 .zshrc 的潜在相关部分(rvm 等效项已被注释掉): export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
  • .ruby-version 是 2.5.3
  • Gemfile 包含: source 'https://rubygems.org' ruby "2.5.3"

【问题讨论】:

    标签: ruby-on-rails ruby rvm bundler rbenv


    【解决方案1】:

    试试这个。

    在您的 rails 项目文件夹中检查 .ruby-version 文件的存在,并将其放入 Gemfile 中指定的相同 ruby​​ 版本。 (如果此文件不存在,请创建它。)

    ~/your-rails-project/.ruby-version 文件:

    2.5.3
    

    ~/your-rails-project/Gemfile 文件:

    source 'https://rubygems.org'
    ruby '2.5.3'
    ...
    

    然后用 rbenv 安装那个版本:

    $ rbenv install 2.5.3
    $ rbenv rehash
    $ rbenv local 2.5.3
    $ rbenv global 2.5.3
    

    现在检查您使用的版本是否正确:

    $ ruby -v
    

    【讨论】:

    • 我的 Gemfile.ruby-version 是正确的,但我需要运行 rbenv rehash。对于其他尝试过的人,我之前运行过rbenv rehash,但这不起作用。我最好的猜测是我需要重新克隆 repo、重新启动或执行其他操作才能使其正常工作。
    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 2023-03-11
    • 2013-04-25
    • 2021-09-21
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多