How to fix "Your Ruby version is 2.3.0, but your Gemfile specified 2.2.5" while server starting

我得到这个错误,而运行服务器,我如何解决这个问题?

enter image description here

240644 次浏览

将以下内容添加到 Gemfile

ruby '2.3.0'

你的 Gemfile有一行读数

ruby '2.2.5'

改成

ruby '2.3.0'

那就快跑

bundle install

为了兼容,你最好安装 Ruby 2.2.5。本地机器上的 Ruby 版本与 Gemfile 声明的版本不同。

如果你使用 Rvm:

rvm install 2.2.5
rvm use 2.2.5

如果你使用 Rbenv:

rbenv install 2.2.5
rbenv local 2.2.5

否则,如果不能通过 rbenv 更改 ruby 版本, 看这里

如果您已经安装了2.2.5并将其设置为当前 Ruby 版本,但即使没有安装 Ruby 版本2.3.0,仍然显示相同的错误,那么只需安装这个 bundle。

gem install bundler

然后:

bundle install

如果您正在使用 rbenv,那么请确保在设置本地或全局 ruby 版本之后运行“ rbenv rehash”命令。它帮我解决了问题。

rbenv rehash

我在 Mac OS Sierra 上。我必须更新 /etc/paths并将 /Users/my.username/.rbenv/shims添加到列表的顶部。

对于 $,Ruby 版本是2.3.0,但 Gemfile 指定为2.4.1。 将 Gemfile 的2.4.1版本更改为2.3.0版本

两个步骤对我很管用:

gem install bundler


bundle install --redownload # Forces a redownload of all gems on the gemfile, assigning them to the new bundler

它也可以在 capistrano 配置(Capfile)中:

set :rbenv_ruby, "2.7.1"

我有这个问题,但我解决了它通过安装版本的红宝石是指定在我的 gem 文件使用 RVM

    rvm install (ruby version)

安装完成后,我使用以下命令来使用您安装的版本。

    rvm --default use (ruby version)

You have to install bundler by using the following command in order to use the latest version

    gem install bundler

完成上述步骤后,现在可以运行以下命令来安装 gemfile 上指定的 gem

    bundle install

我在 Mac 上使用 rbenv 时遇到的一个问题是,当我第一次设置它时,它在/usr/local/bin 中加载了大量的 Ruby 可执行文件——这些可执行文件加载的是系统 Ruby,而不是当前版本。

If you run

which bundle

它显示/usr/local/bin/bundle 可能存在这个问题。

搜索/usr/local/bin 并删除以 # !/user/bin ruby 开头的所有文件

那就快跑

rbenv rehash

如果您对 Ruby 的版本有一定的依赖性,那么就安装适当的版本。否则更改工作目录中 gemfile 的版本。

rbenv install <required version>
rbenv local <required version>

即使在安装之后,它也显示了同样的错误,所以我只需重新启动 mac,然后执行 bundle 安装,它就可以工作了:)

应该是这样的

   <user>@<repo>% rbenv versions
system
* 2.3.7 (set by <app>)

有同样的问题。我使用 rbenvwhich ruby将显示 rbenv 版本:

/Users/Mahmoud/.rbenv/shims/ruby

尽管如此,哪一个捆绑销售会显示:

/usr/local/bin/bundle

After looking in every possible place, turns out my problem was that I needed to update path in ~/.zshrc in addition to ~/.bash_profile (where I originally had the changes)

如果您正在运行 zsh,那么除了 ~/.bash_profile之外,还要在 ~/.zshrc(或等效文件)中添加这两行代码

export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init -)"

保存后,退出终端和重新启动之前重新尝试。希望这将有所帮助。