概要
PHP の Composer は Ruby on Rails でいう Gem のようなもののようで、
複数のライブラリを使用しているものをインストールしようとした時、バージョンの互換性がなかったりして、相性の悪いバージョンの組み合わせがあり、インストール出来ない事がありました。これを解消出来るように依存関係を管理してくれるものでした。
Composerインストール
1 |
$ curl -sS https://getcomposer.org/installer | php |
1 2 3 4 5 |
All settings correct for using Composer Downloading 1.0.0... Composer successfully installed to: /home/user_name/composer.phar Use it: php composer.phar |
もしくは
1 2 3 4 |
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" |
Composer グローバル設定
これをやっておけば各ディレクトリで使用出来ます。
1 |
$sudo mv composer.phar /usr/local/bin/composer |
Composer確認
1 |
$ composer |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.0.0 2016-04-05 13:27:25 Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question --profile Display timing and memory usage information -d, --working-dir=WORKING-DIR If specified, use the given directory as working directory. -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug Available commands: about Short information about Composer archive Create an archive of this composer package browse Opens the package's repository URL or homepage in your browser. clear-cache Clears composer's internal package cache. clearcache Clears composer's internal package cache. config Set config options create-project Create new project from a package into given directory. depends Shows which packages cause the given package to be installed diagnose Diagnoses the system to identify common errors. dump-autoload Dumps the autoloader dumpautoload Dumps the autoloader exec Execute a vendored binary/script global Allows running commands in the global composer dir ($COMPOSER_HOME). help Displays help for a command home Opens the package's repository URL or homepage in your browser. info Show information about packages init Creates a basic composer.json file in current directory. install Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json. licenses Show information about licenses of dependencies list Lists commands prohibits Shows which packages prevent the given package from being installed remove Removes a package from the require or require-dev require Adds required packages to your composer.json and installs them run-script Run the scripts defined in composer.json. search Search for packages self-update Updates composer.phar to the latest version. selfupdate Updates composer.phar to the latest version. show Show information about packages status Show a list of locally modified packages suggests Show package suggestions update Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file. validate Validates a composer.json and composer.lock why Shows which packages cause the given package to be installed why-not Shows which packages prevent the given package from being installed |
これでComposerは導入出来ました。
使用方法はcomposer.jsonを作成したら、参考サイト様を参考に中にこれからインストールしようとするものの依存関係を書き、以下を実行するだけです。
1 |
$ composer install |
Composerを使用してのCakePHPの設定は以下の記事で記録していきます。
https://normalblog.net/system/cakephp/cakephp_vagrant_install/
参考サイト様
https://kohkimakimoto.github.io/getcomposer.org_doc_jp/doc/00-intro.htmll