问题描述
我正在尝试
env RAILS_ENV =测试包执行rake db:migrate
并出现以下错误
您的Ruby版本是2.1.7,但是您指定了Gemfile 2.2.3
ruby -v
给我
红宝石2.2.3p173(2015-08-18修订版51636)[x86_64-darwin15]
我正在使用rbenv,如果那很重要的话。 rbenv版本
给出以下内容:
系统
* 2.2.3(由/ Users / thatsme /项目/demoproject/.ruby版本)
所以我没有安装 ruby 2.1.7
。 Spring没有运行,我已经运行 rbenv rehash
。然后安装 bundler gem
。
我对此很发疯。有人可以告诉我为什么使用了错误的红宝石版本吗?谢谢!
假设:您正在使用RVM。
这意味着在RVM外部安装了一个红宝石版本。
通过运行
rvm卸载<红宝石版>清除rvm红宝石。
一旦您卸载了所有rvm红宝石,就会执行 ruby -v
,如果返回指定红宝石版本的输出,那就是问题的根源。
sudo apt-get删除ruby
现在使用 rvm install< ruby version>
安装rvm红宝石并将其设置为默认 rvm使用< ruby版本>
现在安装捆绑程序
gem安装捆绑软件
然后进行捆绑安装
I'm trying to run
env RAILS_ENV=test bundle exec rake db:migrate
and get the following error
Your Ruby version is 2.1.7, but your Gemfile specified 2.2.3
ruby -v
gives me
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]
I'm using rbenv, if that matters. rbenv versions
gives the following: system* 2.2.3 (set by /Users/thatsme/Projects/demoproject/.ruby-version)
So I have no ruby 2.1.7
installed. Spring is not running and I've run rbenv rehash
. Then bundler gem
is installed.I'm going nuts on this. Can somebody please tell me why the wrong ruby version is being used? Thanks!
Assumption: You are using RVM.This means there's a ruby version installed outside of RVM.Clear your rvm rubies by running
rvm uninstall <ruby version>
once you have uninstalled all rvm rubies do ruby -v
, if this returns an output specifying a ruby version then thats the root of the problem. Uninstall it with
sudo apt-get remove ruby
Now install your rvm rubies with rvm install <ruby version>
and set it as default rvm use <ruby version>
Now install bundler
gem install bundler
And do bundle install
这篇关于捆绑使用错误的红宝石版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!