Merge pull request #960 from hanoii/composer

Improving composer cheatsheet
This commit is contained in:
Rico Sta. Cruz 2018-12-25 20:34:00 +08:00 committed by GitHub
commit d1a15b33d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 19 deletions

View File

@ -12,38 +12,47 @@ description: |
All composer commands, depending on your install, may need to use `php composer.phar` in the install folder for composer, instead of plain `composer`. All composer commands, depending on your install, may need to use `php composer.phar` in the install folder for composer, instead of plain `composer`.
### Package management ### Installing dependencies
| Command | Description | | Command | Description |
| --- | --- | | --- | --- |
| `composer install` | Install everything in composer.json | | `composer install` | Downloads and installs all the libraries and dependencies outlined in the `composer.lock` file. If the file does not exist it will look for composer.json and do the same, creating a `composer.lock` file. |
| --- | --- | | --- | --- |
| `composer install laravel` | Install a package | | `composer install --dry-run` | Simulates the install without installing anything |
| `composer install laravel --dry-run` | Simulates the install without installing anything |
| `composer install laravel --no-scripts`| Skips post-download scripts |
### Updating This command doesn't change any file. If `composer.lock` is not present, it will create it.
| Command | Description | `composer.lock` **should always** be committed to the repository. It has all the information needed to bring the
| --- | --- | local dependencies to the last committed state. If that file is modified on the repository, you will need to run
| `composer update` | Update all packages | `composer install` again after fetching the changes to update your local dependencies to those on that file.
| --- | --- |
| `composer update laravel` | Update a certain package |
| `composer update vendor/*`| Update all packages in a folder |
| `composer update --lock` | Update lock file hash without updating any packages |
### Updating packages
| Command | Description |
| --- | --- |
| `composer update` | Updates all packages |
| `composer update --with-dependencies` | Updates all packages and its dependencies |
| --- | --- |
| `composer update vendor/package` | Updates a certain `package` from `vendor` |
| `composer update vendor/*` | Updates all packages from `vendor` |
| `composer update --lock` | Updates `composer.lock` hash without updating any packages |
### Requiring This command changes only the `composer.lock` file.
### Adding packages
| Command | Description | | Command | Description |
| --- | --- | | --- | --- |
| `composer require laravel`. | Add new package to composer.json and install it | | `composer require vendor/package`. | Adds `package` from `vendor` to composer.json's `require` section and installs it |
| --- | --- | | --- | --- |
| `composer require laravel --dev` | Add new package to `require-dev` and install it. | | `composer require vendor/package --dev` | Adds `package` from `vendor` to composer.json's `require-dev` section and installs it. |
### Removing This command changes both the `composer.json` and `composer.lock` files.
### Removing packages
| Command | Description | | Command | Description |
| --- | --- | | --- | --- |
| `composer remove laravel` | Remove new package from composer.json and uninstall it | | `composer remove vendor/package` | Removes `vendor/package` from composer.json and uninstalls it |
This command changes both the `composer.json` and `composer.lock` files.