Composerをインストールする方法と使い方
Composerは、PHPのライブラリやパッケージを管理するライブラリ依存管理ツールです。
LaravelやCakePHPなどのフレームワーク、CodeSniffer(コードチェックツール)などのツール類をコマンド1行でインストールすることができるようになります。
Composerをインストールする前にPHPのインストールが必要です。
Composerダウンロードページ
https://getcomposer.org/download/
Composer Gitリポジトリ
https://github.com/composer/
Windowsでのインストール
Linux、MacOSでのインストール
Mac Homebrewでのインストール
Dockerでのインストール
チェックサムについての注意
使い方
Windowsでのインストール
WindowsではComposer-Setup.exeをダウンロードしてインストールするだけでPATHの設定などを含めて完了します。
Composer-Setup.exe ダウンロード
https://getcomposer.org/Composer-Setup.exe
インストール後に設置される場所は下記のパスです。
C:\ProgramData\ComposerSetup\bin
Linux、MacOSでのインストール
インストーラーをダウンロードしてcomposer.pharを作成します。
(チェックサムは変更されることがあるのでダウンロードサイトからリンクしているチェックサムページにて最新のチェックサムを確認します。)
チェックサムについての注意
インストーラーのダウンロード
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
インストーラーが改ざんされていないことを確認します。
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
インストーラーを実行してcomposer.pharを作成します。
$ php composer-setup.php
インストーラーを削除します。
$ php -r "unlink('composer-setup.php');"
実行した階層にcomposer.pharが作成されるので、composerコマンドが使えるように管理者権限でファイルを移動します。
$ sudo mv composer.phar /usr/local/bin/composer
Mac Homebrewでのインストール
brew install composer
Dockerでのインストール
COPY --from=composer /usr/bin/composer /usr/bin/composer
チェックサムについての注意
[参考記事] PEARは2019年に改ざんされています
チェックサムはダウンロードページではなく、チェックサムページで確認した方が安全です。
チェックサムページ
https://composer.github.io/pubkeys.html
インストーラーとダウンロードページが同一ドメインになっているため、仮にインストーラーが改ざんされた場合はダウンロードページに記載されているチェックサムも改ざんされている可能性が高いからです。
インストーラーのダウンロードURL
https://getcomposer.org/installer
ダウンロードページ
https://getcomposer.org/download/
ダウンロードページにあるチェックサムページへのリンクが改ざんされ偽のチェックサムページへ誘導されることも考えられるので、チェックサムページのURLが正しいか確認した方がいいです。
使い方
オプション
| オプション | 説明 | |
|---|---|---|
| -h | --help | Display help for the given command. When no command is given display help for the list command 指定されたコマンドのヘルプを表示します。コマンドが指定されていない場合は、list コマンドのヘルプを表示します。 | 
| -q | --quiet | Do not output any message メッセージを出力しない | 
| -V | --version | Display this application version このアプリケーションのバージョンを表示する | 
| --ansi|--no-ansi | Force (or disable --no-ansi) ANSI output ANSI 出力を強制する (または --no-ansi を無効にする) | |
| -n | --no-interaction | Do not ask any interactive question インタラクティブな質問はしないでください | 
| --profile | Display timing and memory usage information タイミングとメモリ使用量の情報を表示する | |
| --no-plugins | Whether to disable plugins. プラグインを無効にするかどうか。 | |
| --no-scripts | Skips the execution of all scripts defined in composer.json file. combos.json ファイルで定義されているすべてのスクリプトの実行をスキップします。 | |
| -d | --working-dir=WORKING-DIR | If specified, use the given directory as working directory. 指定した場合、指定されたディレクトリを作業ディレクトリとして使用します。 | 
| --no-cache | Prevent use of the cache キャッシュの使用を禁止する | |
| -v|vv|vvv | --verbose | Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug メッセージの詳細度を上げます: 通常の出力の場合は 1、詳細な出力の場合は 2、デバッグの場合は 3 | 
利用可能なコマンド
| コマンド | 説明 | 
|---|---|
| about | Shows a short information about Composer Composer に関する簡単な情報を表示します | 
| archive | Creates an archive of this composer package このComposerパッケージのアーカイブを作成します | 
| audit | Checks for security vulnerability advisories for installed packages インストールされているパッケージのセキュリティ脆弱性勧告をチェックします | 
| browse | [home] Opens the package's repository URL or homepage in your browser [home] ブラウザでパッケージのリポジトリ URL またはホームページを開きます | 
| bump | Increases the lower limit of your composer.json requirements to the currently installed versions 現在インストールされているバージョンに対して、composer.json 要件の下限を引き上げます。 | 
| check-platform-reqs | Check that platform requirements are satisfied プラットフォーム要件が満たされていることを確認する | 
| clear-cache | [clearcache|cc] Clears composer's internal package cache [clearcache|cc] Composer の内部パッケージ キャッシュをクリアします | 
| completion | Dump the shell completion script シェル完了スクリプトをダンプする | 
| config | Sets config options 構成オプションを設定します | 
| create-project | Creates new project from a package into given directory パッケージから指定されたディレクトリに新しいプロジェクトを作成します | 
| depends | [why] Shows which packages cause the given package to be installed [why] 指定されたパッケージがインストールされる原因となったパッケージを表示します | 
| diagnose | Diagnoses the system to identify common errors システムを診断して一般的なエラーを特定します | 
| dump-autoload | [dumpautoload] Dumps the autoloader [dumpautoload] オートローダーをダンプします | 
| exec | Executes a vendored binary/script ベンダーのバイナリ/スクリプトを実行します | 
| fund | Discover how to help fund the maintenance of your dependencies 依存関係の維持に資金を提供する方法を見つける | 
| global | Allows running commands in the global composer dir ($COMPOSER_HOME) グローバルComposerディレクトリ ($COMPOSER_HOME) でのコマンドの実行を許可します。 | 
| help | Display help for a command コマンドのヘルプを表示する | 
| init | Creates a basic composer.json file in current directory 現在のディレクトリに基本的なcomposer.jsonファイルを作成します | 
| install | [i] Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json [i] 存在する場合は、composer.lock ファイルからプロジェクトの依存関係をインストールするか、composer.json にフォールバックします。 | 
| licenses | Shows information about licenses of dependencies 依存関係のライセンスに関する情報を表示します | 
| list | List commands コマンドの一覧 | 
| outdated | Shows a list of installed packages that have updates available, including their latest version 最新バージョンを含む、利用可能なアップデートがあるインストール済みパッケージのリストを表示します。 | 
| prohibits | [why-not] Shows which packages prevent the given package from being installed [why-not] 指定されたパッケージのインストールを妨げているパッケージを示します | 
| reinstall | Uninstalls and reinstalls the given package names 指定されたパッケージ名をアンインストールして再インストールします | 
| remove | [rm] Removes a package from the require or require-dev [rm] require または require-dev からパッケージを削除します。 | 
| require | [r] Adds required packages to your composer.json and installs them [r] 必要なパッケージをcomposer.jsonに追加してインストールします。 | 
| run-script | [run] Runs the scripts defined in composer.json [run]composer.json で定義されたスクリプトを実行します。 | 
| search | Searches for packages パッケージの検索 | 
| self-update | [selfupdate] Updates composer.phar to the latest version [selfupdate]composer.pharを最新バージョンに更新します | 
| show | [info] Shows information about packages [info] パッケージに関する情報を表示します | 
| status | Shows a list of locally modified packages ローカルで変更されたパッケージのリストを表示します | 
| suggests | Shows package suggestions パッケージの提案を表示します | 
| update | [u|upgrade] Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file [u|upgrade] combos.json に従って依存関係を最新バージョンに更新し、composer.lock ファイルを更新します。 | 
| validate | Validates a composer.json and composer.lock composer.json と composer.lock を検証します。 | 
関連記事
- PHP
- CakePHP
- Symfony
- CakePHP4
- VGA端末用に出力画像を拡大縮小する方法
- フォーム要素の属性名の『ドット( . )』は『アンダーバー( _ )』に変わります
- デバッグレベルを設定
- Mantisのメール文字化け
- Zend Optimizerのインストール
- セッション固定攻撃(session fixation)
- VGA端末の画像表示対応
- echoしても文字は表示されないのに、emptyがtrueにならない
- 標準のHelperを拡張してカスタマイズする方法
- PEAR・PECLをインストールする方法
- PCやスマホがネットワーク内にあるかどうかを調べる(在宅かどうかの判断)
- Softbankで絵文字を表示させる
- セッションの有効期間とか設定とか挙動とかを調べました
- ディレクトリが存在するにもかかわらず、『No such file or directory』エラーが出る
- memcachedを使用する(memcacheライブラリ)
- file_get_contentsで$http_response_headerを使用するときの注意点
- 国際化i18n(多言語化)
- クッキー(cookie)について
- TOPページはIndexControllerではない Cannot redeclare config()
- 1ファイルにclassを記述して実行する方法
- Geeklog(ギークログ)
- Cactiのインストール RRDToolを利用したサーバ監視ツール
- failed: No space left on device
- PHPをyumでインストールする
- 動的ページを静的ページに偽装する方法
- mb_send_mail、mb_encode_mimeheaderの文字化けのまとめ(半角カタカナなど)
- PHPフレームワークの一覧
- プライマリキーIDを連番数字ではなく推測しにくい文字列にする方法
- date.timezoneを設定するとPHPが早くなる
スポンサーリンク







