我得到这个错误,而运行服务器,我如何解决这个问题?
将以下内容添加到 Gemfile
ruby '2.3.0'
你的 Gemfile有一行读数
ruby '2.2.5'
改成
那就快跑
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
然后:
如果您正在使用 rbenv,那么请确保在设置本地或全局 ruby 版本之后运行“ rbenv rehash”命令。它帮我解决了问题。
rbenv rehash
我在 Mac OS Sierra 上。我必须更新 /etc/paths并将 /Users/my.username/.rbenv/shims添加到列表的顶部。
/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)中:
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
完成上述步骤后,现在可以运行以下命令来安装 gemfile 上指定的 gem
我在 Mac 上使用 rbenv 时遇到的一个问题是,当我第一次设置它时,它在/usr/local/bin 中加载了大量的 Ruby 可执行文件——这些可执行文件加载的是系统 Ruby,而不是当前版本。
If you run
which bundle
它显示/usr/local/bin/bundle 可能存在这个问题。
搜索/usr/local/bin 并删除以 # !/user/bin ruby 开头的所有文件
如果您对 Ruby 的版本有一定的依赖性,那么就安装适当的版本。否则更改工作目录中 gemfile 的版本。
rbenv install <required version> rbenv local <required version>
即使在安装之后,它也显示了同样的错误,所以我只需重新启动 mac,然后执行 bundle 安装,它就可以工作了:)
应该是这样的
<user>@<repo>% rbenv versions system * 2.3.7 (set by <app>)
有同样的问题。我使用 rbenv和 which ruby将显示 rbenv 版本:
rbenv
which ruby
/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)
~/.zshrc
~/.bash_profile
如果您正在运行 zsh,那么除了 ~/.bash_profile之外,还要在 ~/.zshrc(或等效文件)中添加这两行代码
export PATH="$HOME/.rbenv/shims:$PATH" eval "$(rbenv init -)"
保存后,退出终端和重新启动之前重新尝试。希望这将有所帮助。