Laravel 5 Failed opening required bootstrap/../vendor/autoload.php
PhpLaravel 5Php Problem Overview
I have recently installed Laravel 5 via composer. I tried creating a new controller using artisan and I get the following error:
>bootstrap/../vendor/autoload.php. Failed to open stream: No such file or directory. The "vendor" folder does not exist.
Am I missing something?
Php Solutions
Solution 1 - Php
Run composer with --no-scripts
composer update --no-scripts
This shall fix the issue. I tried this on Mac and Linux.
Solution 2 - Php
Which OS you are using ?
For Windows :
Go to Command Prompt
set path to www/{ur project}
For me : www/laravel5
Then type this command : composer install
It will automatically install all dependency in vendor/
Solution 3 - Php
Run composer install
in your root project folder (or php composer.phar install
).
Solution 4 - Php
Turns out I didn't enable openssl in my php.ini so when I created my new project with composer it was installed from source. I changed that and ran
composer update
now the vendor folder was created.
Solution 5 - Php
Did you create a new project or did you clone an existing project?
If you cloned an existing project it's very important to run
composer install
That way all the dependencies that are missing will be installed.
But if you create a new project you should run this command to make a new project using composer
composer create-project laravel/laravel name-of-your-project
Solution 6 - Php
I encountered the same problem. It occurred because composer was not able to install the dependencies specified in composer.json file. try running
composer install
If this does not solve the problem, make sure the following php modules are installed php-mbstring php-dom
To install this extensions run the following in terminal
sudo apt-get install php-mbstring php-dom
once the installation is complete
try running the command in your project root folder
composer install
Solution 7 - Php
You need to regenerate autoload.php
file. you can use dump-autoload
to do that without having to go through an install or update.
use
composer dump-autoload
to generate autoload.php
file again in /vendor
directory.
Solution 8 - Php
Following this below step solved my problem. You may try
composer update --no-scripts
composer update
Solution 9 - Php
Just run this inside the directory where you installed your project
composer install
Solution 10 - Php
After checking php
version and a lot of research , the problem was on Composer
side so just run the following command
composer install --ignore-platform-reqs
Solution 11 - Php
This solution worked for me. The reason is not to have a vendor folder in your application.
Follow these steps:
-
if your project has
composer.json
file, delete it -
then run
composer require phpspec/phpspec
That command add vendor folder to your project
Solution 12 - Php
go to your project folder via cmd. run the following command
composer update
it will install the missing vendor folder and files in your project.
but in some cases, it gives an error like "Your configuration does not allow connection to ....." in cmd.
for that go to your composer.json file,
change "secure-http": true
to "secure-http": false
but in some cases (as was in my case) you may not find such line in your file. for that do the following action:
change "config": {
"preferred-install": "dist"
}
to
"config": {
"preferred-install": "dist",
"secure-http": false
}
and run again composer update
command.
hope this will solve problem.
Solution 13 - Php
Just run the following commands,
composer update
Or
composer install
Solution 14 - Php
When the new project created the laravel require to load vendors to autoload the libraries , We use composer update to
composer update
Composer is a dependency manager allows you to delegate responsibility for managing your dependencies to a third party.
Solution 15 - Php
Just setup a new project using composer
instead of laravel
like this:
composer create-project --prefer-dist laravel/laravel myProje
Solution 16 - Php
Delete Vendor then composer install
Solution 17 - Php
I also had that error. But none of the above solved the issue. So i uninstalled and again installed the composer. Then i did composer update
. and the problem was fixed.
Solution 18 - Php
You are missing vendor folder, probably its new cloned repository or new project
the vendor folder is populated by composer binary which reads composer.json file or system requirements and installs packaged under vendor folder and create an autoload script that has all classed
composer update
Solution 19 - Php
Before you carry out the following instructions you need to make sure you have composer installed globally on your machine; Open you Mac terminal and run the following command:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
once composer is installed globally run the following command after you are in the directory of the project:
composer install
once completed in it update and install all the required packages.
Solution 20 - Php
I had same problem with laravel and artisan, the solution:
php artisan key:generate
Solution 21 - Php
We got an error because we have missing vendor folder in our project, The vendor directory contains our Composer dependencies.
Need /vendor
folder because all packages are there and including all the classes Laravel uses, A problem can be solved after following just two steps:
composer update --no-scripts
composer update
- --no-scripts: Skips execution of scripts defined in
composer.json
- composer update: This will check for newer versions of the libraries you required in your project. If a newer version is found and it's compatible with the version constraint defined in the
composer.json
file, it will replace the previous version installed. Thecomposer.lock
file will be updated to reflect these changes.
These two commands, we will Recreate the vendor folder in our project and after that our project will be working smoothly.
Solution 22 - Php
I got this when I did composer update
instead of composer install
.
Solution 23 - Php
I added composer.lock
file to .gitignore, after commit that file to repository error is gone :)
Solution 24 - Php
my problem is solved by
composer update
composer install
php artisan key:generate
if you any other problem you can clear cache and config Clear Route cache:
php artisan route:cache
Clear View cache:
php artisan view:clear
Clear Config cache:
php artisan config:cache
Solution 25 - Php
Something I realise is your composer.json file will have some sort of script like
"scripts": {
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"pre-update-cmd": [
"php artisan clear-compiled"
],
"post-update-cmd": [
"php artisan optimize"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
what works for me:
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
removing post install cmd
helped running composer install without any issue.
Hope this helps
Cheers!!
Solution 26 - Php
Delete vendor folder and run composer install command. It is working 100%
Solution 27 - Php
In my case I had to enable another extension, namely php_mbstring.dll
in the php.ini
file before it could work. It's listed under extension=php_mbstring.dll
. Find it in the php.ini
file and remove the semi-colon (;
) in front of it and save the file.
After this run install composer
again in the root directory of your Laravel applcication and is should work.
Solution 28 - Php
If you are a Windows user you may uninstall Composer. Then install Composer. After that you install Laravel. Maybe it will work.
Solution 29 - Php
this works for me: after installing the project, I open the project's folder and run these two commands
composer update
composer require doctrine/dbal