Composerインストールとパッケージ導入(Windows8)
ComposerはPHPのパッケージ管理ツールで、
composer.jsonの修正とコマンド発行で様々なライブラリのインストールが簡単に行えます。
Windowsではインストーラから簡単にインストールする事ができます。
ここではインストールの手順をご紹介します。
Composerインストール(Windows)
今回はWindows8(64bit)環境へComposerをインストールします。
インストーラに従ってインストールするだけですので簡単です。
まずComposerの公式サイトは以下になります。
配下のダウンロードページからダウンロードしてインストールを実行します。
Download and run Composer-Setup.exe – it will install the latest composer version whenever it is executed.
インストーラを起動するとインストールが開始されます。
上記で「□Developer mode」を選択すると、
次の画面でインストール先ディレクトリの変更が行えます。
通常はphp.iniヘのパスの選択画面が表示されます。
正しく選択されていれば「Next」で進みます。
プロキシサーバーを利用するならプロキシサーバーのURLを入力しますが、
不要であればそのまま「Next」をクリックします。
インストールの準備ができましたので、
「Install」をクリックして実行します。
確認事項が表示されますので一読して「Next」をクリックします。
Important
Setup has changed your environment, but not all running progress will be aware of this.To use Composer for the first time, you will have to do one of the following:
-Open a new command window.
-Close all file Explore windows, then open a new command window.
-Logoff and Logon again, then open a new command window.
(G訳) 重要
セットアップによって環境が変更されましたが、実行中のすべての進行状況に注意する必要があります。Composerを初めて使用するには、次のいずれかを実行する必要があります。
-新しいコマンドウィンドウを開く。
– すべてのファイルエクスプローラウィンドウを閉じ、新しいコマンドウィンドウを開きます。
-LogoffとLogonを再度実行し、新しいコマンドウィンドウを開きます。
すぐにインストールが実行され完了します。
インストールが行われると指定したディレクトリにComposerがインストールされます。
※composer.jsonファイルは個別に作成したものです。
実行環境の構築
Composerを利用するにはOpenSSLの有効化を行う必要があります。
php.iniを編集しOpenSSLの有効化を行っておいて下さい。
Composerを利用するにはPHARのインストールが必要になります。
PHARのインストールがまだでしたら、PHARのインストールを行ってください。
パッケージインストールの実行例
インストール先(例:C:\composer)には既に「composer.phar」があります。
このままでもPHARがインストールされている場合はすぐに実行する事ができます。
まず、インストールしたいパッケージを決め、
エディタで「C:\composer\composer.json」を作成します。
内容は以下のように記述します。
ここでは4つのパッケージをインストールしています。
1 2 3 4 5 6 7 8 |
{ "require-dev": { "phpunit/phpunit": "4.5.*", "phpunit/phpunit-skeleton-generator": "*", "phpdocumentor/phpdocumentor": "2.*", "phpmd/phpmd" : "@stable" } } |
よく「”require-dev”:」にてインストールする例が紹介されていますが、
基本的には「”require”:」で構いません。
「”require-dev”:」はパッケージの開発を行っている場合に利用するものであるとされています。
「”phpunit/phpunit”: “4.5.*”,」と個別にバージョンを指定してインストールしていますが、
バージョンの記載を省略すると依存関係の中で最も新しいものが自動でインストールされます。
利用したいパッケージの検索は以下で行えます。
ウィンドウ上部の検索窓から対象パッケージを検索します。
「composer.json」に従ってインストールを行うには以下のコマンドを実行します。
環境変数PATHが設定されていない場合は、
Composerをインストールしたディレクトリに移動してから実行します。
cd C:\composer
C:\composer\>php composer.phar install
「composer.json」が未作成な場合は以下のようなエラー終了します。
1 2 3 4 5 6 7 8 9 |
Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Windows\system32>cd C:\composer C:\composer>php composer.phar install Composer could not find a composer.json file in C:\composer To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section |
「composer.json」の設定が済んでいる場合は、すぐにインストールが開始されます。
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
C:\composer>php composer.phar install Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 73 installs, 0 updates, 0 removals - Installing symfony/yaml (v2.8.39): Downloading (100%) - Installing sebastian/version (1.0.6): Downloading (100%) - Installing sebastian/global-state (1.1.1): Downloading (100%) - Installing sebastian/recursion-context (1.0.5): Downloading (100%) - Installing sebastian/exporter (1.2.2): Downloading (100%) - Installing sebastian/environment (1.3.8): Downloading (100%) - Installing sebastian/diff (1.4.3): Downloading (100%) - Installing sebastian/comparator (1.2.4): Downloading (100%) - Installing doctrine/instantiator (1.0.5): Downloading (100%) - Installing phpunit/php-text-template (1.2.1): Downloading (100%) - Installing phpunit/phpunit-mock-objects (2.3.8): Downloading (connecting...) Downloading (100%) - Installing phpunit/php-timer (1.0.9): Downloading (100%) - Installing phpunit/php-file-iterator (1.3.4): Downloading (100%) - Installing phpunit/php-token-stream (1.4.12): Downloading (100%) - Installing phpunit/php-code-coverage (2.2.4): Downloading (100%) - Installing phpdocumentor/reflection-docblock (2.0.5): Downloading (connectin Downloading (100%) - Installing phpspec/prophecy (1.7.6): Downloading (100%) - Installing phpunit/phpunit (4.5.1): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%) - Installing psr/log (1.0.2): Downloading (100%) - Installing symfony/debug (v3.0.9): Downloading (100%) - Installing symfony/console (v2.8.39): Downloading (100%) - Installing phpunit/phpunit-skeleton-generator (2.0.1): Downloading (connecti Downloading (100%) - Installing nikic/php-parser (v1.4.1): Downloading (100%) - Installing phpdocumentor/reflection (3.0.1): Downloading (100%) - Installing symfony/finder (v2.8.39): Downloading (100%) - Installing phpdocumentor/fileset (1.0.0): Downloading (100%) - Installing phpdocumentor/graphviz (1.0.4): Downloading (100%) - Installing zendframework/zend-stdlib (2.7.7): Downloading (100%) - Installing zendframework/zend-hydrator (1.1.0): Downloading (100%) - Installing zendframework/zend-filter (2.8.0): Downloading (100%) - Installing psr/container (1.0.0): Downloading (100%) - Installing container-interop/container-interop (1.2.0): Downloading (connect Downloading (100%) - Installing zendframework/zend-servicemanager (2.7.10): Downloading (connecti Downloading (100%) - Installing zendframework/zend-eventmanager (3.2.1): Downloading (connecting. Downloading (100%) - Installing psr/simple-cache (1.0.1): Downloading (100%) - Installing psr/cache (1.0.1): Downloading (100%) - Installing zendframework/zend-cache (2.8.2): Downloading (100%) - Installing zendframework/zend-json (3.1.0): Downloading (100%) - Installing zendframework/zend-serializer (2.8.1): Downloading (connecting... Downloading (100%) - Installing zendframework/zend-i18n (2.8.0): Downloading (100%) - Installing zendframework/zend-config (2.6.0): Downloading (100%) - Installing kherge/version (1.0.1): Downloading (100%) - Installing seld/jsonlint (1.7.1): Downloading (100%) - Installing justinrainbow/json-schema (1.6.1): Downloading (100%) - Installing herrera-io/json (1.0.3): Downloading (100%) - Installing herrera-io/phar-update (1.0.3): Downloading (100%) - Installing doctrine/lexer (v1.0.1): Downloading (100%) - Installing doctrine/annotations (v1.4.0): Downloading (100%) - Installing phpoption/phpoption (1.5.0): Downloading (100%) - Installing phpcollection/phpcollection (0.5.0): Downloading (100%) - Installing jms/parser-lib (1.0.0): Downloading (100%) - Installing jms/metadata (1.6.0): Downloading (100%) - Installing jms/serializer (1.11.0): Downloading (100%) - Installing symfony/filesystem (v3.0.9): Downloading (100%) - Installing symfony/config (v2.8.39): Downloading (100%) - Installing symfony/stopwatch (v2.8.39): Downloading (100%) - Installing symfony/event-dispatcher (v2.8.39): Downloading (100%) - Installing zetacomponents/base (1.9.1): Downloading (100%) - Installing zetacomponents/document (1.3.1): Downloading (100%) - Installing symfony/process (v2.8.39): Downloading (100%) - Installing erusev/parsedown (1.7.1): Downloading (100%) - Installing twig/twig (v1.35.3): Downloading (100%) - Installing monolog/monolog (1.23.0): Downloading (100%) - Installing symfony/translation (v3.0.9): Downloading (100%) - Installing symfony/validator (v2.8.39): Downloading (100%) - Installing pimple/pimple (v1.1.1): Downloading (100%) - Installing cilex/console-service-provider (1.0.0): Downloading (connecting.. Downloading (100%) - Installing cilex/cilex (1.1.0): Downloading (100%) - Installing phpdocumentor/phpdocumentor (v2.9.0): Downloading (connecting...) Downloading (100%) - Installing symfony/dependency-injection (v3.1.10): Downloading (connecting.. Downloading (100%) - Installing pdepend/pdepend (2.5.2): Downloading (100%) - Installing phpmd/phpmd (2.6.0): Downloading (100%) sebastian/global-state suggests installing ext-uopz (*) phpdocumentor/reflection-docblock suggests installing dflydev/markdown (~1.0) phpunit/phpunit suggests installing phpunit/php-invoker (~1.1) zendframework/zend-filter suggests installing zendframework/zend-crypt (Zend\Cry pt component, for encryption filters) zendframework/zend-filter suggests installing zendframework/zend-uri (Zend\Uri c omponent, for the UriNormalize filter) zendframework/zend-servicemanager suggests installing ocramius/proxy-manager (Pr oxyManager 0.5.* to handle lazy initialization of services) zendframework/zend-servicemanager suggests installing zendframework/zend-di (Zen d\Di component) zendframework/zend-cache suggests installing zendframework/zend-session (Zend\Se ssion component) zendframework/zend-cache suggests installing ext-apc (APC or compatible extensio n, to use the APC storage adapter) zendframework/zend-cache suggests installing ext-apcu (APCU >= 5.1.0, to use the APCu storage adapter) zendframework/zend-cache suggests installing ext-dba (DBA, to use the DBA storag e adapter) zendframework/zend-cache suggests installing ext-memcache (Memcache >= 2.0.0 to use the Memcache storage adapter) zendframework/zend-cache suggests installing ext-memcached (Memcached >= 1.0.0 t o use the Memcached storage adapter) zendframework/zend-cache suggests installing ext-mongo (Mongo, to use MongoDb st orage adapter) zendframework/zend-cache suggests installing ext-mongodb (MongoDB, to use the Ex tMongoDb storage adapter) zendframework/zend-cache suggests installing ext-redis (Redis, to use Redis stor age adapter) zendframework/zend-cache suggests installing ext-wincache (WinCache, to use the WinCache storage adapter) zendframework/zend-cache suggests installing ext-xcache (XCache, to use the XCac he storage adapter) zendframework/zend-cache suggests installing mongodb/mongodb (Required for use w ith the ext-mongodb adapter) zendframework/zend-cache suggests installing mongofill/mongofill (Alternative to ext-mongo - a pure PHP implementation designed as a drop in replacement) zendframework/zend-json suggests installing zendframework/zend-json-server (For implementing JSON-RPC servers) zendframework/zend-json suggests installing zendframework/zend-xml2json (For con verting XML documents to JSON) zendframework/zend-serializer suggests installing zendframework/zend-math ((^2.6 || ^3.0) To support Python Pickle serialization) zendframework/zend-i18n suggests installing ext-intl (Required for most features of Zend\I18n; included in default builds of PHP) zendframework/zend-i18n suggests installing zendframework/zend-i18n-resources (T ranslation resources) zendframework/zend-i18n suggests installing zendframework/zend-validator (You sh ould install this package to use the provided validators) zendframework/zend-i18n suggests installing zendframework/zend-view (You should install this package to use the provided view helpers) jms/serializer suggests installing doctrine/collections (Required if you like to use doctrine collection types as ArrayCollection.) jms/serializer suggests installing doctrine/cache (Required if you like to use c ache functionality.) symfony/event-dispatcher suggests installing symfony/http-kernel () monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB) monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server) monolog/monolog suggests installing ext-amqp (Allow sending log messages to an A MQP server (1.0+ required)) monolog/monolog suggests installing ext-mongo (Allow sending log messages to a M ongoDB server) monolog/monolog suggests installing graylog2/gelf-php (Allow sending log message s to a GrayLog2 server) monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver) monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log m essages to an AMQP server using php-amqplib) monolog/monolog suggests installing php-console/php-console (Allow sending log m essages to Google Chrome) monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar) monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server) monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server) symfony/validator suggests installing doctrine/cache (For using the default cach ed annotation reader and metadata cache.) symfony/validator suggests installing egulias/email-validator (Strict (RFC compl iant) email validation) symfony/validator suggests installing symfony/expression-language (For using the 2.4 Expression validator) symfony/validator suggests installing symfony/http-foundation () symfony/validator suggests installing symfony/intl () symfony/validator suggests installing symfony/property-access (For using the 2.4 Validator API) phpdocumentor/phpdocumentor suggests installing ext-twig (Enabling the twig exte nsion improves the generation of twig based templates.) phpdocumentor/phpdocumentor suggests installing ext-xslcache (Enabling the XSLCa che extension improves the generation of xml based templates.) symfony/dependency-injection suggests installing symfony/expression-language (Fo r using expressions in service container configuration) symfony/dependency-injection suggests installing symfony/proxy-manager-bridge (G enerate service proxies to lazy load them) Package phpunit/phpunit-skeleton-generator is abandoned, you should avoid using it. No replacement was suggested. Package kherge/version is abandoned, you should avoid using it. No replacement w as suggested. Package herrera-io/json is abandoned, you should avoid using it. Use kherge/json instead. Package herrera-io/phar-update is abandoned, you should avoid using it. No repla cement was suggested. Writing lock file Generating autoload files C:\composer> |
コマンドプロンプトが入力待ちになればインストールは完了です。
インストールされたパッケージは、
「C:\composer\vendor」配下にツールがインストールされます。
今回インストールした「phpunit」「phpunit-skeleton-generator」の場合は、
以下の様なディレクトリにインストールされます。
C:\composer\vendor\phpunit\phpunit
C:\composer\vendor\phpunit\phpunit-skeleton-generator
直接composerコマンドの実行
「C:\composer\>php composer.phar install
」としてコマンド実行を行いましたが、
環境変数PATHが通っていれば、composerコマンドで実行することができます。
環境変数が通っていない状態でいきなりcomposerを実行すれば当然エラーになりますが、
インストール先ディレクトリ(C:\composer\
)に移動して実行すれば、
そのまま実行する事ができます。
>composer --version
毎回インストール先ディレクトリ(C:\composer\
)を開くのも面倒なので、
インストール先ディレクトリ(C:\composer\
)を環境変数PATHへ登録します。
私は「Redmond Path」というツールで編集しています。
環境変数PATHを変更したらコマンドプロンプトを開き直し、
>composer --version
と実行します。
Composerが実行されます。
これは(C:\composer\
)にインストールされた「composer.bat
」を経由して、
「composer.phar
」をPHP実行しているだけの事です。
これでComposerのインストールと実行確認ができましたので、
後は必要なパッケージをインストールして使っていくだけになります。
尚、本投稿は以下一連作業の一つになります。
(参考)Composerによるツールのインストール:PHP開発環境2015(その1) | 悠雀堂ブログ
当サイト内のコンテンツおよび画像を含むすべてにおいて、管理人アルゴリズンが著作権を保持しております。
当サイトでご紹介しております写真等につきましては著作権の放棄はしませんが、
ライセンスフリーでご利用いただいて構いません。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
サイト内コンテンツを引用される際には、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
公開日: