This page contains a few tips to help you figure out what's wrong when Scribe seems to be malfunctioning.
First off, try updating your installed Scribe version. Maybe your problem is due to a bug we've fixed in a newer release. You can see a list of releases and major changes on the changelog.
- To find the exact installed version, run
composer show knuckleswtf/scribe
- To update to the latest version, run
composer update knuckleswtf/scribe.
- To update to a specific version (example: 3.0.1), run
composer update knuckleswtf/scribe:3.0.1.
By default, Scribe will try to keep going until it processes all routes and generates your docs. If it encounters any problems while processing a route (such as a missing
@responseFile or some invalid configuration leading to an exception being thrown), it will output a warning and the exception message, then move on to the next route.
You can turn on debug messages (such as the path Scribe takes in instantiating a model) and full stack traces with the
Make sure you aren't matching
Routes defined in Laravel's web.php typically have the
web middleware, leading to strange behaviour, so make sure you've correctly specified the routes to be matched in your config file. See this GitHub issue.
Sometimes you may see a 500
null response shown in the generated examples. This is usually because an error occurred within your application during a response call. The quickest way to debug this is by setting
true in your
response_calls.config section in your
Alternatively, you can set
APP_DEBUG=true in your
.env.docs file and run
php artisan scribe:generate --env docs.
Sometimes Laravel caches config files, and this may lead to Scribe failing with an error about a null
DocumentationConfig. To fix this, clear the config cache:
Sometimes you may run into conflicts if you switch from one output type to another. While we try to prevent this happening, we don't guarantee it. In such cases, please try clearing the old docs generated from your previous run (
laravel would be in
static would be in
public/docs) and then running again. We recommend copying these out to a different location, just to be safe.
Generating docs for large APIs can be memory intensive. If you run into memory limits, try running PHP with an increased memory limit (either by updating your CLI php.ini file or using a CLI flag):