"Box: laravel/homestead-7" producing "sh.exe":box:: command not found" - php

Goal: install homestead so that I can install laravel
I am following the official instructions trying to install homestead.
I have so far on the Git Bash terminal:
Installed the vagrant box and Virtual box which works fine. Also added the laravel/homestead box to the vagrant installation
Cloned the Homestead Repo
Cloned the php7 brand of the Homestead Repo
Successfully ran 'bash init.sh'
Initialized Homestead by running "git clone -b php-7 https://github.com/laravel/homestead.git Homestead7
Now when I am trying to run:
box: laravel/homestead-7
The terminal gives me:
sh.exe": box:: command not found
Currently, the Homestead folder is sitting on the following path:
C:\Users\Gil.vagrant.d\boxes\homestead\Homestead
Does anyone know why this is happening and the solution?
What I have researched so far on Google but does not seem to address my particular problem:
cant-add-laravel-homestead-box-ssl-certificate-prob-windows
cant-install-vagrant-box-laravel-homestead
cant-add-laravel-homestead-box-ssl-certificate-prob-windows
the-box-laravel-homestead-could-not-be-found

You need to read more carefully:
Next, add then the box directive to the top of your ~/.homestead/Homestead.yaml file (on a new line after --- mark):
...
This means that you need to open the file named in a text editor and modify it.

Related

Laravel/Homestead vagrant box disapeared from system

I got a php project which is already done and for starters I have to put it up on a server (planning to use Heroku). I am new to PHP virtual boxes, Laravel, etc. The person who made the project recommended to use Laravel so I started to get things going that way. I am running on Windows 10 and using cmder as my terminal.
I downloaded VirtualBox & Vagrant.
Then using commander I added the Laravel/Homestead box
by doing:
vagrant box add laravel/homestead
in the folder c:\Users\Jacky\vagrant\ubuntu (At least I think that is where I added it)
Afterwards I believe I did
vagrant init
or vagrant init laravel/homestead
whatever I did afterwards I was able to run
vagrant ssh
and get into the system. There I was able to check and I had php and composer installed.
I then followed laravels instructions and created a homestead folder at c:\Jack\Homestead
ran git checkout for v7.19.2
ran init.bat
and configured the Homestead.yaml file
I made the following folder map
- map: C:\Jack\myapp\public
to: /home/vagrant/myapp
and the following site map
- map: myapp.test
to: /home/vagrant/myapp/public
I am a bit confused with the directory structure of this whole thing and not sure if I was supposed to put the myapp directory inside c:\Jack\Homestead\myapp or if just doing it like i did in c:\Jack\myapp is fine.
Anyways that still worked and I could see it in my web browser. So far all was good.
Then the project instructions told me to do the following
run composer install
There was an env.example file I had to change to .env and change some setting
run php artisan key:generate
run php artisan migrate --seed
run php artisan passport:install
run php artisan storage:link
At this point I got an error that the Symlink could not be created, so I googled and found in Stack Overflow to restart as admin. I ran cmder as admin and have been having a heart attack for the last 30 minutes since it told me I had to vagrant up and when I did so it couldnt find my box and even doing vagrant box list
I would get no results and it wanted to redownload which takes over 3 hours.
I just restarted without admin and I do find that my Laravel/Homestead box is listed so I assume it was installed for my user and not admin so I guess I cant run cmder as admin.
So now I am trying to connect again, I am not sure in which folder I should be running the vagrant commands but I only seem to have a VagrantFile in my C:\Jack\Homestead folder so if I run a vagrant command anywhere else it gives me an error that a vagrant environment is required, etc.
So I tried the following inside my homestead folder:
vagrant ssh - I get:
VM must be running to open SSH connection. Run `vagrant up to start the virtual machine.
(In my VirtualBox Manager i see my homestead-7 VM running though)
vagrant up - I get:
Bringing machine 'homestead-7' up with 'virtualbox' provider...
==> homestead-7: Importing base box 'laravel/homestead'...
==> homestead-7: Matching MAC address for NAT networking...
==> homestead-7: Checking if box 'laravel/homestead' is up to date...
A VirtualBox machine with the name 'homestead-7' already exists.
Please use another name or delete the machine with the existing
name, and try again.
vagrant ssh 'homestead-7' I also get
VM must be running to open SSH connection. Run vagrant up
to start the virtual machine.
And the problem is once I do connect I assume I will still have the same problem running:
php artisan storage:link
So my questions are as follows:
Where should I have my projects myapp folder, should it be where it is at C:\Jack\myapp or am I supposed to put it in C:\Jack\Homestead\myapp
Is the VagrantFile supposed to be only in my Homestead folder and is that where I should be running all my Vagrant commands from? Like vagrant ssh and vagrant up
How do I connect again now that I am getting those errors running vagrant ssh and vagrant up
Once I connect I assume I will get the same error running php artisan storage:link since to run as administrator seems to not work what do I do?
I Assume that I should run git init and heroku create inside the myapp folder is this correct?
1) I always keep my apps folders outside of the Homestead folder. Your Homestead folder contains a git project, so if you put your apps inside you should include the folder in the .gitignore file. I think it's easier if you just put your apps elsewhere.
2) Vagrantfile is suposed to only be inside of your Homestead folder ( c:\Jack\Homestead). You should run all your vagrant commands inside the Homestead folder.
3) I used to get this error when I tried to run 'vagrant up' to a project that used the same box name 'homestead-7'. If you have version control, check if the file c:\Jack\Homestead\.vagrant\machines\homestead-7\virtualbox\id has been changed. If so, try restoring the old value and running 'vagrant up' again.
4) You are running in a windows environment, right? Windows can be a little temperamental with symlinks inside vagrant. You'll get the same problem if you try to npm install something. What I do to solve this is to run npm (and php artisan storage:link) outside of the virtual machine, in the host pc, inside the root of the app folder. Just a reminder: to do that you will need php installed in your host machine.
5) All commands related to the app (and not the virtual machine) should be run inside the virtual machine, in the folder app (ex: /home/vagrant/code/myapp) or inside the app folder of your host machine. Those two folders are in sync, thanks to vagrant.

Unable to install Laravel Homestead - UID/Directory issue

I have followed the steps on Laravel's website, to install Homestead, through VirtualBox.
Install Virtual Box (through their package)
Install Vagrant (through their package)
Run vagrant box add laravel/homestead
Within my application's directory, run composer require laravel/homestead --dev
Run php vendor/bin/homestead make
All of the console output shows a success for the above. I can see the Homestead.yml and Vagrantfile files within the app's directory.
When I run vagrant up, I then get this error:
The VirtualBox VM was created with a user that doesn't match the
current user running Vagrant. VirtualBox requires that the same user
be used to manage the VM that was created. Please re-run Vagrant with
that user. This is not a Vagrant issue.
The UID used to create the VM was: ** Your UID is: **
I'm unsure why this has happened, as I haven't used sudo, nor switched between.
Also, within Virtual Box's preference, it shows the default install location of boxes to be in: /Users/AccountName/VirtualBox VMs, but that directory doesn't exist.
However, Vagrant will list laravel/homestead as a box that's installed.
I'm unsure what exactly the problem is.
Please help!
You have to run vagrant up command into ~/Homestead directory.

Issue with running Vagrant in Homestead

I tried setting up a virtual machine using Homestead box. I followed documentation on Laravel site for setting up Homestead.
When I ran the command vagrant up, it seemed to work in setting a VM. Then it asked to run vagrant provision, which I did.
I can't get pass red text 'You are already using composer version 1.1.3 (stable channel)'. I don't know what to do next.
Update: here is Homestead.yaml file:
Needed to edit the file at
~/.homestead/Homestead.yaml
instead of
~/Homestead/Homestead.yaml
after that reload it as usual
vagrant reload --provision
Add
~/.composer/vendor/bin
to Your PATH on host machine (not inside vm).
After restart terminal You can use homestead command.

Laravel homestead is setup and works. But can't find files created

I've just got my new Macbook Pro, and installed Homestead on it. Followed this link: https://laravel.com/docs/master/homestead
I can view the site after installing Laravel on Homestead, but can't find where the files created are on my computer.
Here's homestead.yaml file
My browser
Code Folder
To check for any hidden files I've tried the same on Terminal
When I ssh into the Vagrant instance, I can see the file.
Where could the files be stored? Or am I looking at the wrong place? Thanks
I was able to fix it using the following steps.
I ran vagrant provision from the Homestead directory.
I was able to access the mac Code folder from ssh:
ssh vagrant#192.168.10.10
cd /home/Code
Just had to install Laravel again in this directory.
I think by default it is in your User folder. Mac HD/Users/yourname/Code
Check your command by which you create the project. It looks like:
$composer create-project laravel/laravel --prefer-dist your_project_name
If no error occurs, a directory named your_project_name would be created under your Code path.
Good luck!

Troubles with Homestead / Laravel installation (Mac)

I was following these instructions to install homestead on my Mac
http://pastebin.com/48PHSNC2
Homestead installed properly, but when it initialized, it didn't create a Homestead.yaml file. I have no idea how to reinitialize homestead or fix this. Reading through the installation guide Laravel gives you, it suggests using $ bash init.sh to create the .yaml file... unfortunately, this apparently doesn't exist for me either.
I used the composer command to install the CLI:
composer global require "laravel/homestead=~2.0"
Any ideas? I'm stumped...
I ran into a similar issue using Homestead 2.X (I dont care for Homestead 3 ATM).
basically do the following:
find the bash_init.sh file by running sudo find / -name init.sh
cd into the directory it's in, mine was in /Users/me/.composer/vendor/laravel/homestead/init.sh
make it executable, by running chmod +x init.sh
run ./init.sh
...
profit!
You can generate manually by clone git clone https://github.com/laravel/homestead.git Homestead. This will generate homestead.yaml file. Open and edit and change the parameters to fit your system configuration. For further reading
https://dev.to/ko31/installing-laravel-homestead-on-macos-5910

Categories