Composer - opensource-workshop/connect-cms GitHub Wiki
- composer scriptsで定義されているコマンドを表示
composer run-script --list
- composer.jsonのscripts定義は、
./vendor/bin
にパスが通っている。そのため、省略できる。- windowsでもLinuxでもcomposer scriptsを実行させるには、省略して書く。
./vendor/bin/phpcs
と記載するとwindowsのpower shellではエラーになる
- windowsでもLinuxでもcomposer scriptsを実行させるには、省略して書く。
// composerコマンドでPHP_CodeSniffer実行(上記と同等)
composer phpcs
// or
php composer.phar phpcs
// composerコマンドで色付き(Only Linux)
composer phpcs -- --colors
- Scripts - Composer
- composer.jsonのコマンド修正 phpcs/phpcbf powershell対応 - Pull Request - opensource-workshop/connect-cms
- connect-cms/composer.json
composerとは、PHPの依存管理ツールです。php版のyum, apt-getみたいなものです。
利用すると、phpライブラリのバージョンアップに伴う入れ替えが楽々です。
Manual DownloadのLatest Snapshotでcomposer.phar
をダウンロードして配置
https://getcomposer.org/download/
コマンドでインストール。コマンドはリンク先を参照
https://getcomposer.org/download/
php -d allow_url_fopen=1 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'ハッシュ値はcomposerのバージョン変わるたびに変わるので、https://getcomposer.org/download/を見てね') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
### カレントディレクトリにダウンロードする場合
php -d allow_url_fopen=1 composer-setup.php --1
### /usr/bin/composerとしてダウンロードする場合、composerコマンド利用可能になる (Only Linux)
php -d allow_url_fopen=1 composer-setup.php --install-dir=/usr/bin --filename=composer --1
php -r "unlink('composer-setup.php');"
ComposerのメインリポジトリはPackagistです。
composer install
やcomposer update
をすると、Packagistを見て該当バージョンをダウンロードしてきます。
https://packagist.org/packages/laravel/laravel
- composer.json:composerの定義ファイル。これを基にダウンロードしてくる
- composer.lock:composerでダウンロードしたバージョンを記録したファイル。これを共有することで、プロジェクトのメンバーと同一バージョンをそろえる事ができる
githubから最新のリリースバージョンを取得します。
$ php composer.phar install
本番運用ならこっち。開発ライブラリ(phpunit等)を入れないバージョン
$ php -d allow_url_fopen=1 composer.phar install --no-dev
$ composer require setasign/fpdi
// Out of memoryエラーの場合
$ php -d memory_limit=-1 composer.phar require setasign/fpdi
$ composer update
// Out of memoryエラーの場合
$ php -d memory_limit=-1 composer.phar update
指定 | 対象のバージョン |
---|---|
2.0.5 | 2.0.5 |
2.0.* | 2.0.0以上、2.1.0未満 |
2.* | 2.0.0以上、3.0.0未満 |
^2.0.5 | 2.0.5以上、3.0.0未満 |
^0.2 | 0.2.0以上、0.3.0未満 |
^0.0.5 | 0.0.5以上、0.0.6未満 |
~1.3 | 1.3.0以上、2.0.0未満 |
~1.3.2 | 1.3.2以上、1.4.0未満 |
2.*@dev(開発バージョンも対象にする) | 2.0.0-dev(例) |
dev-master | 1.0.0未満(開発中のバージョン) |
constraint | composer | npm | same |
---|---|---|---|
~1 | >=1.0.0 <2.0.0 | >=1.0.0 <2.0.0 | ✅ |
~1.2 | >=1.2.0 <2.0.0 | >=1.2.0 <1.3.0 | ❌ |
~1.2.3 | >=1.2.3 <1.3.0 | >=1.2.3 <1.3.0 | ✅ |
https://github.com/composer/semver/issues/14 より引用
composer require phpoffice/phpspreadsheet:"~1.25.2"