Composer
Composer is not a package manager in the same sense as Yum or Apt are. Yes, it deals with “packages” or libraries, but it manages them on a per-project basis, installing them in a directory (e.g. vendor) inside your project. By default, it does not install anything globally. Thus, it is a dependency manager. It does however support a “global” project for convenience via the global command.
This idea is not new and Composer is strongly inspired by node’s npm and ruby’s bundler.
Suppose:
- You have a project that depends on a number of libraries.
- Some of those libraries depend on other libraries.
Composer:
- Enables you to declare the libraries you depend on.
- Finds out which versions of which packages can and need to be installed, and installs them (meaning it downloads them into your project).
- You can update all your dependencies in one command.
Installation Instructions
Linux
Depends on:
php
Linux
Depends on:
php Download Composer
{
"url": "{{ .SVar `.tool.composer.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.composer.download.filename` }}",
"overwrite": false
} Copy download to tool space
{
"source": "{{ .PDownloads }}/{{ .SVar `.tool.composer.download.filename` }}",
"destination": "{{ .PTools }}/composer/{{ .SVar `.tool.composer.download.version` }}/composer"
} Make program executable
{
"path": "{{ .PTools }}/composer/{{ .SVar `.tool.composer.download.version` }}/composer",
"permission_bits": 504
}
MacOS
Depends on:
php
MacOS
Depends on:
php Download Composer
{
"url": "{{ .SVar `.tool.composer.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.composer.download.filename` }}",
"overwrite": false
} Copy download to tool space
{
"source": "{{ .PDownloads }}/{{ .SVar `.tool.composer.download.filename` }}",
"destination": "{{ .PTools }}/composer/{{ .SVar `.tool.composer.download.version` }}/composer"
} Make program executable
{
"path": "{{ .PTools }}/composer/{{ .SVar `.tool.composer.download.version` }}/composer",
"permission_bits": 504
} Binaries
- composer