NetBeansでComposerを使うための覚書
今回のインストール環境はOSX (10.11.5)
composerのインストールはHomebrewを使用。
1.Composerを初期化
プロジェクトから、対象のプロジェクトを選択し右クリックで、Composer -> Initを選択。
2.composer.jsonを記述
初期化でSource Files直下にcomposer.jsonが作成されているので、それを開いてインストールしたいパッケージについてなどを記述する。
今回は、phalconのテスト環境の構築と、メール送信のためのPHPMailerをインストールする。
- 開発環境用
- phpunit(PHP Unit Test)
- phpunit-selenium(Selenium)
- php-mailer(開発環境、本番環境共に)
- devtools(Phalcon開発ツール)
- phalcon/incubator(Phalconのテスト用)
- 開発環境、本番環境両方。
- php-mailer
{
// OS X (10.11.5) 以降はこの設定を入れる。
"repositories": [
{ "packagist": false },
{
"type": "composer",
"url": "https://packagist.org"
}
],
// 任意でphpとphalconのversionを指定
"config": {
"platform": {
"php": "5.6.23",
"ext-phalcon" : "2.0.13"
}
},
"name": "vendor/{project}",
"description": "Description of project {project}.",
// 開発環境用
"require-dev" : {
"phpunit/phpunit": "5.4.*",
"phpunit/phpunit-selenium": ">=1.3",
"phpmailer/phpmailer": "~5.2",
"phalcon/devtools": "dev-master",
"phalcon/incubator": "dev-master"
},
// 本番環境
"require" : {
"phpmailer/phpmailer": "~5.2"
}
}
"repositories": [....
は、次に行う、Composerのインストール時に必要となる。
3.PackagesのInstallを行う。
プロジェクトから、対象のプロジェクトを選択し右クリックで、Composer -> Install(dev)を選択。
※repositoriesを設定していないとセキュリティーの問題上、以下のインストール時に以下のようなメッセージが表示されて、インストールが止まる。(結構ハマる人がいる、自分はハマった。)
[Composer\Downloader\TransportException]
The 'http://packagist.org/p/****.json' URL could not be accessed: HTTP/1.1 400 Bad Request
また、configでplatformを指定しないと、brewでinstallしたext-phalconのバージョンが取得できず、phalcon関係のpackageがダウンロード出来ないので注意が必要。
4.Installが成功しているか確認
"/usr/local/bin/composer" "--ansi" "--no-interaction" "install"
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing phalcon/devtools (dev-master 660df5e)
Cloning 660df5e050af2fe0f8a941402cc5492614e82d9d
(中略)
- Installing phpunit/phpunit-selenium (3.0.2)
Downloading: 100%
phalcon/incubator suggests installing ext-aerospike (*)
phalcon/incubator suggests installing duncan3dc/fork-helper (To use extended class to access the beanstalk queue service)
phpmailer/phpmailer suggests installing league/oauth2-google (Needed for Google XOAUTH2 authentication)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.4.0)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Writing lock file
Generating autoload files
Done.
Projectを見ると、Source Files 以下にvendorフォルダ、Composer Librariesにinstallしたパッケージが表示されている。
これで、NetbeansにてComposerを使った環境構築完了。
まとめ
- configを設定していないとBrewで作った環境の場合失敗する場合がある。
- repositoriesの設定が無いと、Netbeans側か何かは分からないが、セキュリティー上ダウンロード出来ない場合あり。
以上を気をつければ、環境構築に苦しむ事もないはず。