Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Homestead.yaml *Shell provisioner `args` must be a string or an array

I was editing my homestead.yaml file and I am certain the indentation is correct -- I however get this following error:

Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

shell provisioner:
* Shell provisioner `args` must be a string or array.
* Shell provisioner `args` must be a string or array.
* Shell provisioner `args` must be a string or array.
* Shell provisioner `args` must be a string or array.

My homestead.yaml file:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: ~/.ssh/id_rsa.pub

keys:
     - ~/.ssh/id_rsa

folders: 
     - map: ~/Sites
       to: /home/vagrant/Sites

sites: 
     - map: scheduleify.dev
       to: /home/vagrant/Sites/scheduleify/public

     - map: phpmyadmin.dev
       to: /home/vagrant/Sites/phpmyadmin

     - map: articles.dev
       to: /home/vagrant/Sites/learning-laravel5    

databases:
     - scheduleify

variables:
    - key: APP_ENV
  - value: local

Any ideas on what is wrong with the file?

like image 765
mdobrenko Avatar asked Jun 02 '15 16:06

mdobrenko


2 Answers

Last line isn't indented correctly. Make sure it looks like

variables:
    - key: APP_ENV
      value: local

Also check that all paths on host machine exist.

like image 52
Alik Avatar answered Sep 21 '22 08:09

Alik


I had a similar issue but slightly different reason:

variables:
    - key: ON_HOMESTEAD
      value: true  # Error

The value true is invalid and should be 1.

variables:
    - key: ON_HOMESTEAD
      value: 1
like image 34
winkbrace Avatar answered Sep 25 '22 08:09

winkbrace