-
Notifications
You must be signed in to change notification settings - Fork 6
Composer
Mitsuru Mutaguchi edited this page Aug 31, 2023
·
22 revisions
- composer scriptsで定義されているコマンドを表示
composer run-script --list
- composer.jsonのscripts定義は、
./vendor/bin
にパスが通っている。そのため、省略できる。- windowsでもLinuxでもcomposer scriptsを実行させるには、省略して書く。
./vendor/bin/phpcs
と記載するとwindowsのpower shellではエラーになる
- windowsでもLinuxでもcomposer scriptsを実行させるには、省略して書く。
// composerコマンドでPHP_CodeSniffer実行(上記と同等)
composer phpcs
// or
php composer.phar phpcs
// composerコマンドで色付き(Only Linux)
composer phpcs -- --colors
- Scripts - Composer
- composer.jsonのコマンド修正 phpcs/phpcbf powershell対応 - Pull Request - opensource-workshop/connect-cms
- connect-cms/composer.json
composerとは、PHPの依存管理ツールです。php版のyum, apt-getみたいなものです。
利用すると、phpライブラリのバージョンアップに伴う入れ替えが楽々です。
Manual DownloadのLatest Snapshotでcomposer.phar
をダウンロードして配置
https://getcomposer.org/download/
コマンドでインストール。コマンドはリンク先を参照
https://getcomposer.org/download/
php -d allow_url_fopen=1 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'ハッシュ値はcomposerのバージョン変わるたびに変わるので、https://getcomposer.org/download/を見てね') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
### カレントディレクトリにダウンロードする場合
php -d allow_url_fopen=1 composer-setup.php --1
### /usr/bin/composerとしてダウンロードする場合、composerコマンド利用可能になる (Only Linux)
php -d allow_url_fopen=1 composer-setup.php --install-dir=/usr/bin --filename=composer --1
php -r "unlink('composer-setup.php');"
ComposerのメインリポジトリはPackagistです。
composer install
やcomposer update
をすると、Packagistを見て該当バージョンをダウンロードしてきます。
https://packagist.org/packages/laravel/laravel
- composer.json:composerの定義ファイル。これを基にダウンロードしてくる
- composer.lock:composerでダウンロードしたバージョンを記録したファイル。これを共有することで、プロジェクトのメンバーと同一バージョンをそろえる事ができる
githubから最新のリリースバージョンを取得します。
$ php composer.phar install
本番運用ならこっち。開発ライブラリ(phpunit等)を入れないバージョン
$ php -d allow_url_fopen=1 composer.phar install --no-dev
$ composer require setasign/fpdi
// Out of memoryエラーの場合
$ php -d memory_limit=-1 composer.phar require setasign/fpdi
$ composer update
// Out of memoryエラーの場合
$ php -d memory_limit=-1 composer.phar update
指定 | 対象のバージョン |
---|---|
2.0.5 | 2.0.5 |
2.0.* | 2.0.0以上、2.1.0未満 |
2.* | 2.0.0以上、3.0.0未満 |
^2.0.5 | 2.0.5以上、3.0.0未満 |
^0.2 | 0.2.0以上、0.3.0未満 |
^0.0.5 | 0.0.5以上、0.0.6未満 |
~1.3 | 1.3.0以上、2.0.0未満 |
~1.3.2 | 1.3.2以上、1.4.0未満 |
2.*@dev(開発バージョンも対象にする) | 2.0.0-dev(例) |
dev-master | 1.0.0未満(開発中のバージョン) |
constraint | composer | npm | same |
---|---|---|---|
~1 | >=1.0.0 <2.0.0 | >=1.0.0 <2.0.0 | ✅ |
~1.2 | >=1.2.0 <2.0.0 | >=1.2.0 <1.3.0 | ❌ |
~1.2.3 | >=1.2.3 <1.3.0 | >=1.2.3 <1.3.0 | ✅ |
https://github.com/composer/semver/issues/14 より引用
composer require phpoffice/phpspreadsheet:"~1.25.2"
- home
- Overview
- Install
- Install (インストール)(Linux等へのインストール:root権限ある場合)
-
Install-sakura(さくらのレンタルサーバ)
- Install-sakura-root(ドキュメントルート版)
- Install-Xserver(XServer)
- Install-lolipop(ロリポップ-ハイスピードプラン)
- Install-ColorfulBox(カラフルボックス)
- install-CentOS7+PHP7
- Install-XAMPP(Windows+XAMPP)
- install-Docker
- Update
- Plans
- Data
- File Upload
- Design
- Theme(テーマ)
- Font-Icon(アイコン)
- Button(ボタン)
- Display of input error(入力エラーの表示)
- Multi Language
- Policies
- Plugin
- Basic function(基本の関数)
- Opac(蔵書管理)
- OpeningCalendar(開館カレンダー)
- Template(テンプレート)
- Cabinet(キャビネット)
- Whatsnew(新着)
- Search(サイト内検索)
- Approval(承認機能)
- Holidays(祝日管理)
- Menu(メニュー)
-
OriginalPlugin(オリジナル・プラグイン開発)
- OriginalPluginFiles(ファイル一覧)
- Sample.php
- SamplePost.php
- plugin.ini
- SamplesPlugin.php
- create_samples_table.php
- create_sample_posts_table.php
- samples_frame_edit_tab.blade.php
- card/index.blade.php
- card/template.ini
- default/bucket.blade.php
- default/edit.blade.php
- default/index.blade.php
- default/list_buckets.blade.php
- default/show.blade.php
- default/template.ini
- WYSIWYG
- Session
- Programing tips
- Rule(ルール)
- Laravel method tips
- Laravel reference pages
- PHP
- phpcs
- Datetimepicker(日付入力)
- Hook(処理のフック)
- SQL
- Pull-Request(Web画面上)
- Post
- Optimize
- Composer
- npm
- コントローラー側の$this--can()-の調査
- API (外部サービスAPI)
- Test Case(テストケース)
- memo(永原のメモ)
- TCPDF(実装サンプル)
- Phpunit(ユニットテスト)
-
Dusk(ブラウザテスト)
- Github-Actions-Dusk(Github Actionsでブラウザテスト)
- Dusk-Manual(マニュアル自動生成)
- Develop-Windows(Windows開発環境)
- users_columns(ユーザ任意項目)
- container-page-beta(コンテナ方式(ページ)対応(ベータ版))
- Migration
- Other
- Link
- MultiLanguage(多言語化の際の注意点)