「Php/composer/基本」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→composer自身のバージョンエラーが出た時) |
(→autoload) |
||
(同じ利用者による、間の7版が非表示) | |||
行18: | 行18: | ||
$ php composer.phar install | $ php composer.phar install | ||
− | == | + | ==vendor内のライブラリを自動ロード== |
− | + | これで、パッケージを自動で読み込んでくれる。 | |
+ | |||
+ | require_once __DIR__ . '/vendor/autoload.php'; | ||
==composer.json編集した後の更新== | ==composer.json編集した後の更新== | ||
− | composer update | + | $ composer update |
+ | もしくは | ||
+ | $ php composer.phar update | ||
+ | |||
+ | ===Token (hidden):と出た場合=== | ||
+ | githubにログインして、表示されてる https://github.com/settings/tokens/new のurlを確認 | ||
==vendorのdirの名前を変更== | ==vendorのdirの名前を変更== | ||
行77: | 行84: | ||
==以下vendor/autoload.phpエラーが出た場合== | ==以下vendor/autoload.phpエラーが出た場合== | ||
Failed to open stream: No such file or directory. The "vendor" folder does not exist. | Failed to open stream: No such file or directory. The "vendor" folder does not exist. | ||
+ | $ composer update --no-scripts | ||
+ | |||
+ | ==以下autoloadのエラーが出た場合== | ||
+ | PHP Warning: require(bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in bootstrap/autoload.php on line 17 | ||
$ composer update --no-scripts | $ composer update --no-scripts | ||
==参考== | ==参考== | ||
http://www.ryuzee.com/contents/blog/5681 | http://www.ryuzee.com/contents/blog/5681 |
2024年10月21日 (月) 16:08時点における最新版
パッケージ管理ツール node.jsのnpmみたいなもの。
目次
ローカルプロジェクトにcomposerインストール
$ curl -s http://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer.phar $ composer -V Composer version e77435cd0c984e2031d915a6b42648e7b284dd5c 2014-07-02 15:44:54
使い方(例:monolog/monolog)
composer.json
{ "require": { "monolog/monolog": ">=1.0.0" } }
$ php composer.phar install
vendor内のライブラリを自動ロード
これで、パッケージを自動で読み込んでくれる。
require_once __DIR__ . '/vendor/autoload.php';
composer.json編集した後の更新
$ composer update
もしくは
$ php composer.phar update
githubにログインして、表示されてる https://github.com/settings/tokens/new のurlを確認
vendorのdirの名前を変更
composer.json
{ "require": { "monolog/monolog": ">=1.0.0" }, "config": { "vendor-dir": "lib/" } }
composer.json記述例
{ "repositories": [ { "type": "pear", "url": "http://pear.php.net/" } ], "require": { "pear-pear.php.net/PEAR": "1.9.*", "pear-pear.php.net/Mail": "1.2.*", "pear-pear.php.net/Mail_Mime": "1.8.*", "pear-pear.php.net/Net_SMTP": "1.6.*", "pear-pear.php.net/Net_UserAgent_Mobile": "1.0.*", "pear-pear.php.net/Image_Transform": "0.9.4" } "require-dev": { "phpunit/PHPUnit": "5.1.*" }, }
phpunitのinstall&実行例
{ "require-dev": { "phpunit/phpunit": "5.1.*" } } $ vendor/bin/phpunit --bootstrap vendor/autoload.php tests/hoge.php
composerで入れたpearをpath登録
set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../vendor/pear-pear.php.net/PEAR'), realpath(APPLICATION_PATH . '/../vender/pear-pear.php.net/Net_UserAgent_Mobile'), get_include_path(), )));
composer自身のバージョンエラーが出た時
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "/usr/local/bin/composer self-update" to get the latest version. $ sudo /usr/local/bin/composer self-update
以下vendor/autoload.phpエラーが出た場合
Failed to open stream: No such file or directory. The "vendor" folder does not exist. $ composer update --no-scripts
以下autoloadのエラーが出た場合
PHP Warning: require(bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in bootstrap/autoload.php on line 17 $ composer update --no-scripts