Overview
Composer offers a path repository type that lets you load packages from a local directory. This makes it easy to tweak code quickly and commit changes directly to your project’s VCS. The official docs for path repositories can feel a bit abstract, so this guide walks through every step using InfyOmLabs/laravel-generator as an example.
1. Bring the Package into Your Project
Add laravel-generator to your local packages directory any way you like. Here we’ll use git clone.
Run the following from the project root:
mkdir packages
cd packages
git clone https://github.com/InfyOmLabs/laravel-generator.gitResult:

2. Update composer.json
Use a path repository entry under repositories in composer.json to point to the local package.
See the official explanation here.
We’ll map the package to packages/laravel-generator.
{
"repositories": [
{
"type": "path",
"url": "packages/laravel-generator"
}
]
}Make sure you only update the repositories section, as shown below:

3. Require the Package
Run composer require to load the package. This command adds infyomlabs/laravel-generator:*@dev to composer.json, installs dependencies, and updates composer.lock.
For more about
composer require, see The Right Way to Install Composer Packages.
composer require "infyomlabs/laravel-generator:*@dev"TIP
The *@dev suffix is critical.
You should see output similar to:

If you’re adding a brand-new package, you can stop here.
4. Switch an Existing Package to the path Repository
If you originally installed the package using another repository type and now want to switch to path, first remove it:
composer remove infyomlabs/laravel-generatorThen follow the steps above to reinstall it from the local path.
How It Works
Composer creates a directory symlink so that vendor/infyomlabs/laravel-generator points to packages/laravel-generator, as shown below:

TIP
Article republished from: Composer Load Third-Party Packages from a Local Path
