任意のディレクトリ(プロジェクトのルートなど)に移動してインストーラを実行する。
[root@web01 ~]# cd ProjectRoot [root@web01 ProjectRoot]# curl -sS https://getcomposer.org/installer | php #!/usr/bin/env php All settings correct for using Composer Downloading... Composer successfully installed to: /root/ProjectRoot/composer.phar Use it: php composer.phar
実行した場所にcomposer(composer.pharという実行可能ファイル)が作成される。
[root@web01 ProjectRoot]# ls -alt 合計 1164 -rwxr-xr-x 1 root root 1180001 11月 18 13:34 2015 composer.phar drwxr-xr-x 2 root root 4096 11月 18 13:33 2015 . dr-xr-x---. 8 root root 4096 11月 18 13:33 2015 .. [root@web01 ProjectRoot]# php composer.phar -V Composer version 1.0-dev (30e6a63958652e12d01bd3edbc7c7cd7500dde95) 2015-11-17 15:29:08
任意のディレクトリ(プロジェクトのルートなど)にcomposer.jsonを作成して、インストールしたいパッケージなどを定義する
[root@web01 ProjectRoot]# vi composer.json
{ "require": { "phalcon/devtools": "dev-master" } }
composer.jsonのある場所でinstallを実行する。
[root@web01 ProjectRoot]# php composer.phar install Loading composer repositories with package information Installing dependencies (including require-dev) - Installing phalcon/devtools (dev-master c2e5aff) Cloning c2e5aff43aa4fbf919abd13bb7d0ef80efb83f57 Writing lock file Generating autoload files
installが正常終了すると、インストール時のパッケージ情報・バージョン情報がcomposer.lockに書きだされる。
再度同じ構成を構築したい場合は、このファイルを利用する(同階層に設置する)。
[root@web01 ProjectRoot]# ls -alt 合計 1176 drwxr-xr-x 5 root root 4096 11月 18 13:38 2015 vendor drwxr-xr-x 3 root root 4096 11月 18 13:38 2015 . -rw-r--r-- 1 root root 2405 11月 18 13:38 2015 composer.lock -rw-r--r-- 1 root root 68 11月 18 13:37 2015 composer.json -rwxr-xr-x 1 root root 1180001 11月 18 13:34 2015 composer.phar dr-xr-x---. 8 root root 4096 11月 18 13:33 2015 ..
composer.jsonで指定したインストール対象のパッケージはvendor配下に設置される。
[root@web01 ProjectRoot]# tree -L 2 ./vendor/ ./vendor/ ├── autoload.php ├── bin │ └── phalcon.php -> ../phalcon/devtools/phalcon.php ├── composer │ ├── ClassLoader.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── autoload_namespaces.php │ ├── autoload_psr4.php │ ├── autoload_real.php │ └── installed.json └── phalcon └── devtools 4 directories, 9 files
[root@web01 ProjectRoot]# vi composer.json
{ "require": { "phalcon/devtools": "dev-master", "stack/run": "^1.0" } }
composer.jsonのある場所でupdateを実行する。
[root@ikt-web1 ProjectRoot]# php composer.phar update Loading composer repositories with package information Updating dependencies (including require-dev) ~省略~ - Installing stack/run (v1.0.1) Downloading: 100% ~省略~ Writing lock file Generating autoload files
updateでは、composer.lockが更新される。