1 つの回避策 (実際には解決策ではありません) は、PEAR のインストールをバイパスし、Composer のインストールを介してローカル コピーを使用することです。
プロジェクト ルートに次のファイルを作成しますcomposer.json
。
{
"require": {
"phpunit/phpunit" : "3.7.*"
}
}
もちろん、そのような要件がある場合は、phpunit のバージョンを「3.6.*」などに変更してください。
プロジェクトのルート:
# Install composer
$ curl -s https://getcomposer.org/installer | php
# Tell composer to install the dependencies identified in composer.json
$ php composer.phar install
# Now you can invoke the *local* copy of phpunit
$ ./vendor/phpunit/phpunit/composer/bin/phpunit --version
簡単にするために、phpunit 実行可能ファイルへのシンボリック リンクを作成できます。と呼ばれるディレクトリにシンボリックリンクが必要であると仮定しますtests
。
$ ln -s ./vendor/phpunit/phpunit/composer/bin/phpunit ./tests/phpunit
次に、(プロジェクトルートから)次のように呼び出すことができます:
$ cd tests
$ ./phpunit --version
さらに簡単に、Composer にシンボリック リンクの処理を指示することもできます。これをあなたに追加してくださいcomposer.json
:
"config": {
"bin-dir": "tests"
}
次に、以前と同様に、(プロジェクト ルートから) 次のように呼び出すことができます。
$ cd tests
$ ./phpunit --version
実際、私が通常行っていることは、プロジェクト レベルのディレクトリを作成し、そこscripts
にコンポーザを指定bin-dir
することです。tests
次に、を指すシンボリックリンクを手動で作成しscripts/phpunit
ます。しかし、この最後のステップは、おそらくあらゆる種類の要件よりも個人的な好みです。
おそらく、PEAR の問題を克服するには長い道のりがありますが、Composer ベースのインストールはかなり確実に機能することがわかりました。