目次
- Composerの概要
- Windows環境でcomposerコマンドを使えるようにする【2020年】
- Composerの入手
- composer.pharとは
- composer.pharはどこに配置すべきか
- ライブラリをインストールする
- composer.pharをコマンドでインストール
- ライブラリを更新する
- ライブラリをプロジェクトに組み込む
- 推奨:リポジトリ管理から外す
- composerをWindowsで手軽に動かすセット
- composer.pharのアップデート
Composerの概要
Composerはサードパーティ製ライブラリをpackagist.orgというサイトから取ってきて、指定フォルダに一括インストールするプログラムである。プロジェクトへの組み込みも1行のコードで組み込め、非常に簡単である。
packagist.orgだけでなく、PEARやGitHubからインストールすることも可能である。
Windows環境でcomposerコマンドを使えるようにする【2020年】
-
公式サイトからComposer-Setup.exeをダウンロード。
-
Composer-Setup.exeを普通にインストール。
-
インストール途中でPHPの実行プログラムを指定する必要がある。
xamppの場合、「C:\xampp\php\php.exe」を指定。
-
インストールが終わったら、composerコマンドがGit Bashやコマンドプロンプトで仕えるようになる。
Composerの入手
公式サイトからComposer-Setup.exeをダウンロードする。Composer-Setup.exeを実行すると「C:\ProgramData\ComposerSetup\bin」にいくつかのファイルされる。
必要なのは「composer.phar」のみ。
composer.pharとは
composer.pharとはComposerの本体であり実行ファイルである。コマンドプロンプトでphpコマンドを通して動かす。
composer.pharはどこに配置すべきか?
自由に配置できる。ただし、composer.pharの配置場所はライブラリのインストール場所でもある。
CakePHPの場合、appフォルダと同じ階層にあるvendorsフォルダにcomposer.phar配置したほうがよい。
ライブラリをインストールする
各種サードパーティ製のライブラリをインストールする手順- appフォルダと同じ階層にあるvendorsフォルダにcomposer.phar配置する。 (参考:composer.pharはどこに配置すべきか?)
-
composer.jsonを作成し、インストールするライブラリの情報を書き込む。
composer.jsonの記述例
{ "require": { "phpunit/phpunit": "3.7.*", "guzzlehttp/guzzle":"6.2" } }
各種ライブラリはpackagist.orgから選ぶ
参考サイト
- コマンドプロンプトを起動する
-
コマンドプロンプトでcomposer.pharを配置しているディレクトリへ移動する。
>cd C:\xampp\htdocs\cakedemo\vendors
-
phpコマンドを通して「composer.phar install」を実行する。
C:\xampp\php\php.exe composer.phar install
コマンド実行後、数十秒ほど待つとライブラリのインストールが始まる。 -
以上でインストール終わり。
ライブラリのインストール先はcomposer.pharが置いていあるフォルダと同じである。(vendorsにインストールされる)
installコマンドは1回のみ
installを1回実行後、もう一度実行するとエラーが表示されインストールできない。もう一度インストールするにはupdateコマンドを使うか、composer.lockとインストールしたライブラリを削除してからinstallコマンドを実行する。
composer.pharをコマンドでインストール
インストールとはいっても、composer.pharファイルをWEBから取ってくるだけ。まず、cdコマンドでcomposer.pharを配置するディレクトリに移動する。
Windows環境でGit bashのターミナルを使うと、ttyなんとかのエラーが出る。 その場合、下記のコマンドを実行すると解決する。
$ exec winpty bash下記のPHPコマンドにて、composer.pharをインストール(入手)する。
$ php -r "readfile('https://getcomposer.org/installer');" | phpcdコマンドで移動したディレクトリに入手したcomposer.pharファイルが配置される。
ライブラリを更新する
composer.lockが作成されている状態でないと実行できない。composer.lockはinstallコマンドを実行したときに作成される。
以下のコマンドでライブラリを更新する
C:\xampp\php\php.exe composer.phar update
指定ライブラリだけを更新する場合
C:\xampp\php\php.exe composer.phar update phpunit/phpunit
ライブラリをプロジェクトに組み込む
autoload.phpを呼び出すだけである。以下のソースコードを書くだけで、インストールしたすべてのライブラリが使用可能になる。
App::import('vendor', 'vendor/autoload');
CakePHPならbootstrap.phpに記述してもよい。
推奨:リポジトリ管理から外す
Gitなどプロジェクトをリポジトリ管理している場合、 インストールしたライブラリをリポジトリ管理から外すこと。各種ライブラリをバージョンアップしたとき、リポジトリの更新情報に多数変更がでるためである。
Eclipse + Git でリポジトリ管理外にする方法
- EclipseのPHP Explorerでリポジトリ管理外にするファイルまたはフォルダを右クリックする。
- 「Team」→「Ignore]と操作する。
- 以上でリポジトリ管理外になる。
composerをWindowsで手軽に動かすセット
composer-set.zipファイル名 | 説明 |
---|---|
composer.json | インストールするライブラリの情報を記述する。 |
composer.phar | composerの本体 |
install.bat | インストールを実行するバッチファイル。 このバッチファイルが存在する同じディレクトリにvendorフォルダを作成し、そこに各種ライブラリが配置される。 インストールするとcomposer.lockファイルが作成される。再度、インストールしなおす場合、composer.lockファイルを削除すること |
update.bat | ライブラリを更新する |
composer.pharのアップデート
C:\xampp\php\php.exe composer.phar self-update「composer-temp.phar」がカレントディレクトリに作成される。
composer-temp.pharのファイル名をcomposer.pharに書き換え、更新完了。