ログ日記

作業ログと日記とメモ

Zend Framework の一部を使おうとしてハマった

症状は、composer.phar で zendframework/zend-validator を入れようとすると zendframework全体がインストールされる。
原因は、zendframeworkのcomposer.jsonが良くないっぽい。



依存関係を追っていくと、どうもzendframework/zend-i18nを入れようとするとzendframeworkが入るようだった。
i18nのcomposer.jsonを見てみると、requireにintlが書いてある。試しにローカルプロジェクトのrequireにext-intlを書くと composer.phar install がエラーになる。



https://github.com/composer/composer/issues/1158
https://github.com/composer/composer/issues/1063


どうも、zend-i18nを入れようとしたらエラーになるが、zendframeworkのrequireには何もない、かつ、zendframeworkにzend-i18nが含まれているので、zendframeworkが入ってしまうみたい。

aptitude install php5-intl

intl拡張をインストールしたら無事にzendframework/zend-validatorだけインストールされた。



キャッシュを削除してチェックするコマンド下記。

# キャッシュ削除
rm composer.lock
rm -rf vendor/*
rm -rf ~/.composer/

# dry run
composer.phar install --verbose --dry-run