Reputation: 2826
I moved my project from desk to another.
When I run php artisan
it does not work.
I tried to run composer update
, but it returns the error
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255
Upvotes: 87
Views: 240499
Reputation: 1824
In Laravel 11, i removed the withExceptions
method from app.php
when i run composer install
an error occurred like below:
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 255
Failed to install packages for ./composer.json.
to fix this you should add your withExceptions
method like:
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__ . '/../routes/web.php',
api: __DIR__ . '/../routes/api.php',
commands: __DIR__ . '/../routes/console.php',
health: '/up'
)
->withMiddleware(function (Middleware $middleware) {
})
->withExceptions(function (Exceptions $exceptions) {
$exceptions->renderable(function (Throwable $t, Request $request) {
//TODO: handle exceptions here
});
})
->create();
Upvotes: 0
Reputation: 2470
None of above solution worked for me, then I followed Laravel 7 upgrade guide and was able to fix the error by editing composer.josn file.
Updated in require-dev
"nunomaduro/collision": "^4.1",
"phpunit/phpunit": "8.5",
"facade/ignition": "^2.0" // added this manullay it was not there.
Then I run the composer update command and it worked like a charm.
composer update
(Optional) - If after doing above stuff it's not working, then manually delete vendor, and composer.lock file and run composer install and it will install everything for you and your issue will be resolved.
Upvotes: 0
Reputation: 323
If you followed all previous answears and the upgrade guide and still had no success, make sure you have every package that is referenced in your project in your composer.json, for example if you have something like: "Barryvdh\DomPDF\ServiceProvider::class" or "use Barryvdh\DomPDF\PDF" in your code, you have to make sure that in your composer.json you have "barryvdh/laravel-dompdf", or if you don't need or don't want it anymore remove it from your code, this can happen when you merge code from other branchs but your composer.json file is not in sync with other branchs, the error message isn't much helpful, but take a look at your log file storage/logs/laravel.log
Upvotes: 0
Reputation: 61
Error is connected with command: php artisan package:discover
So in first step remove this command from composer.json
In second step ensure, that error is visible by adding on the top of /artisan file:
ini_set('display_errors', true);
ini_set('log_errors', true);
ini_set('error_log', '/app/storage/logs/php.log');
Then manually run php artisan
and see what a problem is, it would be many, for instance: Class 'Memcache' not found
Upvotes: 6
Reputation: 329
My problem was __construct method.
composer.json
"php": "^8.1",
"laravel/framework": "^9.19",
Handler.php
The problem originates from this code:
this->container->make(FlasherInterface::class);
My solution, I removed the construction directly and the problem is solved.
public function __construct(Container $container)
{
parent::__construct($container);
$this->flasher = $this->container->make(FlasherInterface::class);
//$this->request = $this->container->get(Request::class);
}
Upvotes: 0
Reputation: 89
I was using Laravel 9.x and got the same error after trying to install this package maatwebsite/excel
!
thanks to @samuel-terra and @dqureshiumar there is the solution worked for me:
bootstrap/cache
:cd bootstrap/cache/
rm -rf *.php
composer update
:composer update
Upvotes: 0
Reputation: 456
My case/solution, in case it helps anyone...
I copied my repo over from my old Windows computer to a new one, and installed the latest php.
composer install
was returning:
Root composer.json requires php ^7.1.3 but your php version (8.1.10) does not satisfy that requirement
...which I thought was odd (assuming 8 satisfied ^7), so I continued on with composer install --ignore-platform-reqs
, and ended up with this particular issue.
After trying a bunch of other possible solutions, what ended up working for me was simply downgrading to the same PHP version from my old machine (7.4.33).
Upvotes: 1
Reputation: 13394
Got the same problem.
php artisan
doesn't work.
composer install
got error:
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255
And this works for me.
When I switch another linux user. It works. some files are owned by another linux user. So I use root account and change all the project file to the specific user,
chown -R www:www project/
and use that user to execute composer cmd
and then it works.
Upvotes: 1
Reputation: 99
For me it was related to Kernel.php
I was adding new schedule task into the Kernel. I also updated some controllers, views, and installed twilio extension.
The error did not provide more information than
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255
@Suresh Pangeni refences the Kernel.php doc so I checked by doc that is in PROJECTFOLDER\app\Console\Kernel.php
protected $commands = [
Commands\Inspire::class,
Commands\Test::class
\App\Console\Commands\Message::class,
];
Missing Comma between Commands\Test::class and the next line didn't let me proceed. It provided no further warning or information when I ran composer dump-autoload.
Hope this can help someone else that has a similar issue!
Upvotes: 0
Reputation: 43
Nothing worked, so I installed a new project, and I read Handler.php in App\Exceptions, it was different, probably because I copied some solution and Internet and deleted the following:
protected $dontReport = [
//
];
protected $dontFlash = [
'password',
'password_confirmation',
];
I copy here all of Handler.php generated by laravel 7.5, may be useful for someone:
<?php
namespace App\Exceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
* Report or log an exception.
*
* @param \Throwable $exception
* @return void
*
* @throws \Exception
*/
public function report(Throwable $exception)
{
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Throwable $exception
* @return \Symfony\Component\HttpFoundation\Response
*
* @throws \Throwable
*/
public function render($request, Throwable $exception)
{
return parent::render($request, $exception);
}
}
Upvotes: 1
Reputation: 393
I got the same problem in Win 10 and solve it:
Here is the steps.
Step-1: Go to your project directory
Step-2: Update your composer
composer update
Step-3: Now you are done: php artisan serve
Upvotes: -1
Reputation: 19
I deleted my project I created a new folder and cloned the repository again and after that I gave composer install / update.
Upvotes: 0
Reputation: 1
If you have this error the simplest way is you can try using composer install instead of composer update
Upvotes: 0
Reputation: 2813
I had the same issue, my problem was the PHP version of the server account did not match my Docker container. The SSH terminal was using the global php version for the server.
php -v
Confirm it's the version your project needs.
Composer did warn me that a higher php version was required but I rm -rf
'd /vendor
and ./composer.lock
without paying too much attention to the warnings!
Upvotes: 1
Reputation: 1476
Make sure your config\constants.php
(and/or resources\lang\en\local.php
) has no syntax errors. I get this error a lot by missing commas in constants.php
file.
Upvotes: 0
Reputation: 41
In my case there is missing folder and its file Kernel.php
in
app/Console
So I created app/Console/Kernel.php
using code from previous project.
Now everything working fine.
Upvotes: 0
Reputation: 1851
Getting this error when my composer version 2.x then i rollback this
composer self-update --1
Now its perfectly working
Upvotes: -4
Reputation: 242
I deleted composer.lock file and ran composer update.
That solved mine
Upvotes: 1
Reputation: 966
I was upgrading my Laravel from 5.8 to 8.0
and I got this error.
So my fixes were
As @nobuhiroharada mentioned that I had missed .env
file in my project
Second is that Laravel removed Exception
and replaced it with Throwable
. So we need to fix that in our app\Exceptions\Handler.php
. One can refer Medium.com for the error fix.
In the upgrade guide of Laravel 8.x
you need to update the dependencies like this
Next, in your composer.json
file, remove classmap block from the autoload section and add the new namespaced class directory mappings:
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},
bootstrap\cache
delete the cache files and run composer update
.These 5 steps might help you remove the error you are facing in your Laravel Project.
Upvotes: 29
Reputation: 21
I solve this error by deleting the vendor table then run composer update. I'm using Laravel 7. So, if you are not updating from the older Laravel version, maybe this is the solution.
Upvotes: 2
Reputation: 1252
This happens because you have upgraded to Laravel 7.
To fix it, update app/Exceptions/Handler.php
like so:
<?php
namespace App\Exceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable; // <-- ADD THIS
class Handler extends ExceptionHandler
{
public function report(Throwable $exception) // <-- USE Throwable HERE
{
parent::report($exception);
}
public function render($request, Throwable $exception) // AND HERE
{
return parent::render($request, $exception);
}
}
This is documented in the official upgrade guide here:
https://laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades
Upvotes: 19
Reputation: 31
Same issue when I update laravel from 6.x to 7.x
I tried the most voted answer but it didn't work, then I used php artisan serve
I noticed that:
RuntimeException
In order to use the Auth::routes() method, please install the laravel/ui package.
Try composer require laravel/ui
maybe it will work.
Upvotes: 3
Reputation: 2806
This is not an actual error. If you look a bit above you'll see the actual error. In my case, there was an error in my code:
PHP Fatal error: Declaration of
App\Exceptions\Handler::render($request, App\Exceptions\Exception $exception)
must be compatible with
Illuminate\Foundation\Exceptions\Handler::render($request, Throwable $e)
It is not possible to tell you what is actually a problem in your code, so you have to look real reason for this error in your stack trace.
Upvotes: 0
Reputation: 1676
This is how I solved this after an upgrade from laravel version 6.x - 7.x:
In App\Exceptions\Handler
changed
//Use Exception;
Use Throwable;
Then methods to accept instances of Throwable
instead of Exceptions
as follows:
//public function report(Exception$exception);
public function report(Throwable $exception);
//public function render($request, Exception $exception);
public function render($request, Throwable $exception);
In config\session.php
:
//'secure' => env('SESSION_SECURE_COOKIE', false),
'secure' => env('SESSION_SECURE_COOKIE', null),
Then run composer update
Upvotes: 166
Reputation: 665
If this happened after Laravel update from 6.x to 7.x, then this could be due to the update of Symfony. See the upgrade guide of this part: https://laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades
Upvotes: 27
Reputation: 1275
I had this same problem when running composer update
in a Laravel project. In the package.json it's configured to run artisan package:discover
, which failed with:
Class 'Symfony\Component\Translation\Translator' not found in vendor/nesbot/carbon/src/Carbon/Translator.php on line 18
When I looked in the vendor/symfony/translation
directory I found that it was completely empty, which explained the error.
The solution was to completely delete the vendor
directory and then re-run composer update
. This was the only way that I was able to make composer install the missing files.
Upvotes: 1
Reputation: 733
I solved the problem this way:
cd bootstrap/cache/
rm -rf *.php
The bootstrap directory contains the app.php file that initializes the structure. This directory also houses a cache directory that contains structure-generated files for performance optimization, such as files and route cache services. Laravel stores configuration files, provider, and cached services to optimize the fetching of this information. The problem with me was when the other developer ran the 'php artisan config: cache' command on your machine and since the cache folder contains files that can be deleted, I deleted them and solved the problem.
Upvotes: 33
Reputation: 3252
I got the same problem in Win 8 and solve it:
Here is the steps.
Step-1: Go to your project directory
Step-2: And type command cd bootstrap/cache/
Step-3: Again type command del -rf *.php
Step-4: Update your composer composer update
Step-5: Now you are done: php artisan serve
Thanks.
Upvotes: 10
Reputation: 95
maybe you have an error in the project code (for example, in routes or controller). This may be one of the reasons for this error.
In my project, the web.php file has a syntax error. I defined this when I started the php artisan command
C:\OSPanel\domains\lara.shop.loc>php artisan
In web.php line
syntax error, unexpected end of file
Upvotes: 3
Reputation: 499
Do you have .env file in your new project?
I had same error message. When I add .env file, error is gone.
success message like this.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: ixudra/curl
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: socialiteproviders/manager
Package manifest generated successfully.
I hope this will help you.
Upvotes: 8