我需要用于rake的activerecord,但是当我尝试安装它时,它说:
activesupport-5.0.0.1 requires ruby version >= 2.2.2,
which is incompatible with the current version, ruby 1.9.3p484
我尝试用rbenv将ruby更改为2.2.2
rbenv versions
输出
系统 * 2.2.2(由/home/user/.rbenv/version设置) 2.3.1
但是当我去ruby -v它说
ruby 1.9.3p484(2013-11-22修订版43786)[x86_64-linux]
还尝试删除它,但是当我安装rake
时sudo apt-get install rake
我得到了输出
将安装以下额外软件包:
libruby1.9.1 ruby ruby1.9.1
但是,我需要ruby版本2.2.2或更高版本才能激活(ruby -v)来安装活动记录,这样我就可以执行rake命令了。
答案 0 :(得分:1)
你搞砸了。
sudo apt-get install rake
是一个系统范围的 debian软件包,它对rbenv
一无所知。删除它,以及删除系统红宝石。
之后,请执行:
rbenv global 2.2.2
gem install rake # ⇐ THIS
答案 1 :(得分:0)
我帮助了这个并解决了它。在我的情况下,我从
更改了gemfile.lock GEM
remote: http://rubygems.org/
specs:
activemodel (5.0.0.1)
activesupport (= 5.0.0.1)
activerecord (5.0.0.1)
activemodel (= 5.0.0.1)
activesupport (= 5.0.0.1)
arel (~> 7.0)
activesupport (5.0.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (~> 0.7)
minitest (~> 5.1)
tzinfo (~> 1.1)
arel (7.1.4)
concurrent-ruby (1.0.2)
i18n (0.7.0)
minitest (5.9.1)
mysql2 (0.4.5)
rake (11.3.0)
thread_safe (0.3.5)
tzinfo (1.2.2)
thread_safe (~> 0.1)
PLATFORMS
ruby
DEPENDENCIES
activerecord
mysql2
rake
BUNDLED WITH
1.13.6
到这一个(最重要的是activerecord版本):
GEM
remote: http://rubygems.org/
specs:
activemodel (3.1.3)
activesupport (= 3.1.3)
builder (~> 3.0.0)
i18n (~> 0.6)
activerecord (3.1.3)
activemodel (= 3.1.3)
activesupport (= 3.1.3)
arel (~> 2.2.1)
tzinfo (~> 0.3.29)
activesupport (3.1.3)
multi_json (~> 1.0)
arel (2.2.1)
builder (3.0.0)
i18n (0.6.0)
multi_json (1.0.4)
mysql2 (0.3.11)
rake (0.9.2.2)
tzinfo (0.3.31)
PLATFORMS
ruby
DEPENDENCIES
activerecord
mysql2
rake
BUNDLED WITH
1.13.6
然后安装了activerecord和我需要的所有其他
gem install activerecord -v 3.1.3
sudo apt-get install libmysqlclient-dev
sudo apt-get install ruby1.9.1-dev
gem install activerecord-mysql2-adapter
gem uninstall mysql2
gem install mysql -v 0.3.11
耙子工作了。
rake db:migrate[]
希望这会对某人有所帮助! :)