Как установить версию Ruby>= 2.0 для Vagrant в Ubuntu 14.04?
У меня есть EC2
экземпляр в Amazon
Бег Ubuntu 14.4.3
, Который будет работать Vagrant
и развернуть некоторые виртуальные машины, используя vagrant-aws
плагин. Но каждый раз, когда я пытаюсь установить плагин, я получаю следующую ошибку:
ubuntu@ip-172-25-56-198:~$ vagrant plugin install vagrant-aws
Installing the 'vagrant-aws' plugin. This can take a few minutes...
/usr/lib/ruby/1.9.1/rubygems/installer.rb:388:in `ensure_required_ruby_version_met': net-ssh requires Ruby version >= 2.0. (Gem::InstallError)
from /usr/lib/ruby/1.9.1/rubygems/installer.rb:156:in `install'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:297:in `block in install'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each_with_index'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `install'
from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:65:in `block in call'
from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:42:in `block in with_environment'
from /usr/lib/ruby/1.9.1/rubygems/user_interaction.rb:40:in `use_ui'
from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:41:in `with_environment'
from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:52:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
from /usr/share/vagrant/plugins/commands/plugin/action/bundler_check.rb:20:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/builder.rb:116:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:69:in `block in run'
from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:69:in `run'
from /usr/share/vagrant/plugins/commands/plugin/command/base.rb:17:in `action'
from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:27:in `execute'
from /usr/share/vagrant/plugins/commands/plugin/command/root.rb:56:in `execute'
from /usr/lib/ruby/vendor_ruby/vagrant/cli.rb:38:in `execute'
from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:484:in `cli'
from /usr/bin/vagrant:127:in `<main>'
У меня такая же версия Ubuntu
в моем desktop
машина и не было этой проблемы. Что я делаю неправильно? Я пытался удалить ruby1.9
и установить только ruby2.2
но все равно выдает ту же ошибку.
РЕДАКТИРОВАТЬ
ubuntu@ip-172-25-56-198:~$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
Vagrant устанавливает ruby1.9, даже если у меня установлена более новая версия!
root@ip-172-31-29-138:/tmp# apt-get install -y vagrant
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
ruby1.9.1
Suggested packages:
ruby1.9.1-examples ri1.9.1 graphviz ruby1.9.1-dev virtualbox
The following NEW packages will be installed:
ruby1.9.1 vagrant
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/425 kB of archives.
After this operation, 1.898 kB of additional disk space will be used.
Selecting previously unselected package ruby1.9.1.
(Reading database ... 146549 files and directories currently installed.)
Preparing to unpack .../ruby1.9.1_1%3a1.9.3.551-2bbox1~trusty1_amd64.deb ...
Unpacking ruby1.9.1 (1:1.9.3.551-2bbox1~trusty1) ...
Selecting previously unselected package vagrant.
Preparing to unpack .../vagrant_1.4.3-1_all.deb ...
Unpacking vagrant (1.4.3-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up ruby1.9.1 (1:1.9.3.551-2bbox1~trusty1) ...
Setting up vagrant (1.4.3-1) ...
А затем снова та же ошибка:
root@ip-172-25-56-198:/tmp# vagrant plugin install vagrant-aws
Installing the 'vagrant-aws' plugin. This can take a few minutes...
/usr/lib/ruby/1.9.1/rubygems/installer.rb:388:in `ensure_required_ruby_version_met': net-ssh requires Ruby version >= 2.0. (Gem::InstallError)
from /usr/lib/ruby/1.9.1/rubygems/installer.rb:156:in `install'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:297:in `block in install'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each_with_index'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `install'
from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:65:in `block in call'
from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:42:in `block in with_environment'
from /usr/lib/ruby/1.9.1/rubygems/user_interaction.rb:40:in `use_ui'
from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:41:in `with_environment'
from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:52:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
from /usr/share/vagrant/plugins/commands/plugin/action/bundler_check.rb:20:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/builder.rb:116:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:69:in `block in run'
from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:69:in `run'
from /usr/share/vagrant/plugins/commands/plugin/command/base.rb:17:in `action'
from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:27:in `execute'
from /usr/share/vagrant/plugins/commands/plugin/command/root.rb:56:in `execute'
from /usr/lib/ruby/vendor_ruby/vagrant/cli.rb:38:in `execute'
from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:484:in `cli'
from /usr/bin/vagrant:127:in `<main>'
2 ответа
Похоже, что vagrant сильно зависит от ruby 1.9 (проверьте ruby -v
).
Так что вам нужно будет вручную установить ruby 2.2 и убедиться, что 2.2 идет первым в PATH
, Затем попробуйте установить плагин снова:
vagrant plugin install vagrant-aws
Наткнуться на точно такую же проблему. Решено путем установки последней версии vagrant с официальной страницы загрузки.
Кажется, что бродяга на Ubuntu 14 сильно зависит от ruby 1.9, как сказал kenorb. Официальная страница установки Vagrant также предполагает, что вы не устанавливаете vagrant с помощью репозиториев пакетов ОС.