Я создал Vagrantfile для создания нового окна с использованием Ansible. Как Vagrantfile, так и Ansible playbooks - это те, которые я использовал раньше, до перехода на OS X Yosemite. Я могу успешно vagrant up
, но когда я пытаюсь vagrant provision
я получаю следующее сообщение об ошибке:Vagrant не может быть запущен при настройке
➜ NNL vagrant provision
==> default: Running provisioner: ansible...
The executable 'ansible-playbook' Vagrant is trying to run was not
found in the PATH variable. This is an error. Please verify
this software is installed and on the path.
Update 2: Вот многословным (VVVV) Выход для команды выше:
➜ ta vagrant provision
==> default: Running provisioner: ansible...
ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false PYTHONUNBUFFERED=1 ANSIBLE_SSH_ARGS='-o
ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --private-
key=/Users/mike/.vagrant.d/insecure_private_key --user=vagrant --connection=ssh --
limit='default' --inventory-file=/Users/mike/Desktop/ta/.vagrant/provisioners/ansible/inventory
-vvvv vagrant.yml
The executable 'ansible-playbook' Vagrant is trying to run was not
found in the PATH variable. This is an error. Please verify
this software is installed and on the path.
Я уже обновлено и доступно для устранения неполадок в качестве части моего устранения неполадок:
➜ NNL ansible --version
ansible 1.8.1
configured module search path = None
➜ NNL ansible-playbook --version
ansible-playbook 1.8.1
configured module search path = None
➜ NNL vagrant --version
Vagrant 1.6.5
Ansible определенно установлен и/usr/local/bin находится в переменной среды PATH.
➜ NNL which ansible
/usr/local/bin/ansible
➜ NNL echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Update 1: Вот мой Vagrantfile, я обрезать его до минимума:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "precise64"
config.vm.hostname = "NNL"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.network :forwarded_port, guest: 9200, host: 9200
config.ssh.forward_agent = true
config.vm.provision "ansible" do |ansible|
ansible.playbook = "vagrant.yml"
end
end
Моя другая мысль была, что я использую ЗШ и, возможно, бродяга выполняет команды через bash или некоторую другую оболочку, поэтому я также попытался добавить файл .bashrc, чтобы убедиться, что/usr/local/bin также находится на пути к этой оболочке. Это, кажется, но я все еще получаю ту же ошибку:
➜ NNL bash
bash-3.2$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
bash-3.2$ which ansible
/usr/local/bin/ansible
Я теряюсь Теперь о том, как действовать. В качестве сноски мои другие бродячие боксы, которые я создал успешно под Mavericks, теперь также терпят неудачу с той же ошибкой, когда я пытаюсь их повторно предоставить.
Я не знаю, поможет ли это, но можете ли вы опубликовать свой Vagrantfile? – tedder42
Уверенная вещь, добавленная к вопросу выше. – Teep
Добавьте 'ansible.verbose =" vvvv "' под 'ansible.playbook', чтобы мы могли получить полную команду, бродяга пытается запустить – codeaken