Ответ 1
Это https://github.com/mitchellh/vagrant/issues/7625. Он будет исправлен в следующем выпуске, и до тех пор, если его блокирует, вы можете исправить бродягу самостоятельно
Если вы хотите исправлять себя
Метод1:
- найдите файл
plugins/guests/ubuntu/guest.rb
в вашей бродяжной установке- например.
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/plugins/guests/ubuntu/guest.rb
по умолчанию для установки mac/linux - или
/opt/vagrant/embedded/gems/vagrant-1.8.5/plugins/guests/ubuntu/guest.rb
- окна:
C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.8.5\plugins\guests\ubuntu\guest.rb
- например.
- заменить на https://raw.githubusercontent.com/carlosefr/vagrant/1c631c18d1a654405f6954459a42ac19a1a2f096/plugins/guests/ubuntu/guest.rb (убедитесь, что у вас есть правильные права, если вы устанавливаете в качестве администратора, вы должны быть пользователем администратора для сохранения файла)
-
альтернативно отредактируйте файл и замените все содержимое
module VagrantPlugins module GuestUbuntu class Guest < Vagrant.plugin("2", :guest) def detect?(machine) # This command detects if we are running on Ubuntu. /etc/os-release is # available on modern Ubuntu versions, but does not exist on 14.04 and # previous versions, so we fall back to lsb_release. # # GH-7524 # GH-7625 # machine.communicate.test <<-EOH.gsub(/^ {10}/, "") if test -r /etc/os-release; then source /etc/os-release && test xubuntu = x$ID elif test -x /usr/bin/lsb_release; then /usr/bin/lsb_release -i 2>/dev/null | grep -q Ubuntu else exit 1 fi EOH end end end end
Метод2: альтернативный метод для исправления файла с помощью команды patch
:
сохраните следующий файл под vagrant-guest.patch
commit 00fa49191dba2bb7c6322fa8df9327ca505c0b41
Author: Seth Vargo <[email protected]>
Date: Sat Jul 23 11:40:36 2016 -0400
guests/ubuntu: Revert detection
- Semi-reverts GH-7524
- Fixes GH-7625
diff --git a/plugins/guests/ubuntu/guest.rb b/plugins/guests/ubuntu/guest.rb
index 9aeb7aa..f60108e 100644
--- a/plugins/guests/ubuntu/guest.rb
+++ b/plugins/guests/ubuntu/guest.rb
@@ -2,7 +2,22 @@ module VagrantPlugins
module GuestUbuntu
class Guest < Vagrant.plugin("2", :guest)
def detect?(machine)
- machine.communicate.test("test -r /etc/os-release && . /etc/os-release && test xubuntu = x$ID")
+ # This command detects if we are running on Ubuntu. /etc/os-release is
+ # available on modern Ubuntu versions, but does not exist on 14.04 and
+ # previous versions, so we fall back to lsb_release.
+ #
+ # GH-7524
+ # GH-7625
+ #
+ machine.communicate.test <<-EOH.gsub(/^ {10}/, "")
+ if test -r /etc/os-release; then
+ source /etc/os-release && test xubuntu = x$ID
+ elif test -x /usr/bin/lsb_release; then
+ /usr/bin/lsb_release -i 2>/dev/null | grep -q Ubuntu
+ else
+ exit 1
+ fi
+ EOH
end
end
end
и выполните следующую команду для применения патча
sudo patch -p1 --directory /opt/vagrant/embedded/gems/gems/vagrant-1.8.5/ < vagrant-guest.patch
Просто замените /opt/vagrant/embedded/gems/gems/vagrant-1.8.5
(или /opt/vagrant/embedded/gems/vagrant-1.8.5/plugins/guests/ubuntu/guest.rb
) на установку вашей бродяжной папки