Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Composer 2.0 新機能概論 / New feature introduction of Composer 2.0

02
October 03, 2021

Composer 2.0 新機能概論 / New feature introduction of Composer 2.0

2021/10/03 PHPカンファレンス 2021のトークで使用したスライドです

02

October 03, 2021
Tweet

More Decks by 02

Other Decks in Programming

Transcript

  1. #phpcon2021 #track2 自己紹介 PHPカンファレンス 2019 PHPerのためのテストコード入門 2020 テストピラミッドを意識した テストコード実装戦略 執筆

    WEB+DB PRESS Vol.121 Composer 2によるパッケージ管理 初のメジャーバージョンアップで大進化! WEB+DB PRESS Vol.118 PuPHPeteerでE2Eテスト PHP版Puppeteerでお手軽正常系チェック BankEnd Software Enginner 02 大津 和槻 :@cocoeyes02 2021/02~ BASE, Inc.
  2. #phpcon2021 #track2 Composer2.0 新機能一覧 • パフォーマンス向上 • ランタイムの新機能 • パッケージのバージョンの部分的な更新

    • 依存関係のエラーレポートの改善 • リポジトリの優先順位 • 新しく追加されたオプション 8
  3. #phpcon2021 #track2 正規/非正規リポジトリ 正規リポジトリを用いる理由 2つ目の理由はセキュリティ面についてです。 例:foo/bar: ^2.0という非正規リポジトリのパッケージとバージョンで、 最新バージョンが2.4.3 このとき誰かがfoo/bar 2.999をPackagist.orgに公開すると、

    ComposerはPackagist.orgにあるfoo/bar 2.999パッケージを選択してしまい、 意図しないインストールが起きてしまいます。 正規リポジトリであればPackagist.orgよりも優先順位が高くなるため、 foo/bar 2.999は選択されず、意図しないインストールを防げます。   40
  4. #phpcon2021 #track2 パッケージのフィルタリング リポジトリごとに、インストールするパッケージに対する制約を加えることができます。 { "repositories": [ { "type": "git",

    "url": "https://github.com/Seldaek/monolog.git", "exclude": ["phpunit/phpunit"] }, { "type": "git", "url": "https://github.com/Seldaek/monolog.git", "only": ["phpunit/phpunit"] } ] } 41
  5. #phpcon2021 #track2 参考文献 WEB+DB PRESS Vol.121 Composer 2によるパッケージ管理 初のメジャーバージョンアップで大進化! https://gihyo.jp/magazine/wdpress/archive/2021/vol121

    Composer 2.0 is now available! https://blog.packagist.com/composer-2-0-is-now-available/ Github Composer Complete 2.0 Changelog https://github.com/composer/composer/releases/tag/2.0.0 Composer Book(Documentation) https://getcomposer.org/doc/ 49