服务器启动时如何修复 "Your Ruby version is 2.3.0, but your Gemfile specified 2.2.5"

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

我在 运行 服务器时收到此错误,我该如何解决?

将以下内容添加到您的 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 版本, read here

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

gem install bundler

然后:

bundle install

如果您使用的是 rbenv,请确保在设置本地或全局 ruby 版本后 运行 "rbenv rehash" 命令。它解决了我的问题。

rbenv rehash

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

For $ 您的 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"

我遇到了这个问题,但我通过使用 RVM

安装 gem 文件中指定的 ruby 版本解决了这个问题
    rvm install (ruby version)

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

    rvm --default use (ruby version)

您必须使用以下命令安装 bundler 才能使用最新版本

    gem install bundler 

完成上述步骤后,您现在可以运行以下命令来安装gem文件

上指定的gems
    bundle install

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

如果你运行

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,然后进行捆绑安装,它有效:)

它应该显示这样的东西

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

有同样的问题。我正在使用 rbenv 并且 which ruby 会显示 rbenv 版本:

/Users/Mahmoud/.rbenv/shims/ruby

哪个包会显示:

/usr/local/bin/bundle

在查看了所有可能的地方后,发现我的问题是除了 ~/.bash_profile(我最初进行更改的地方)

之外,我还需要更新 ~/.zshrc 中的路径

如果你是 运行 zsh,除了 ~/.bash_profile

之外,在 ~/.zshrc(或等效文件)中添加这两行
export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init -)"

保存后,退出终端并重新启动,然后重试。希望这会有所帮助。