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

what-is-composer-bin-plugin

 what-is-composer-bin-plugin

composer-bin-pluginが便利だったので触ってみました

hideki kinjyo

April 24, 2019
Tweet

More Decks by hideki kinjyo

Other Decks in Programming

Transcript

  1. vendor 0,ʂ vendor BBBYZ[dͩ͘ ͍͞ つまり・・? 0,ʂ BBBYZ[?͍ͩ͘͞ package-b package-a

    vendor 0, BBBYZ[͍ͩ͘͞ package-c ⽤途ごとに
 「vendor dir」「composer.lock」を
 掘ってしまえ、という発想
  2. 使い⽅ • Install (global) • composer global require bamarni/composer-bin-plugin •

    Install (in-project) • composer require --dev bamarni/composer-bin-plugin
  3. 使い⽅ • Usage • `Composer [global] bin $任意の名前空間名 command `

    • composer global bin cs require friendsofphp/php- cs-fixer rector/rector
  4. 使い⽅ • Usage • `Composer [global] bin $任意の名前空間名 command `

    • composer global bin cs require friendsofphp/php- cs-fixer rector/rector • これで「cs」という隔離された名前空間に
 php-cs-fixerとrectorが設置される
  5. 実際の様⼦ ~/.composer $ tree -L 2 vendor-bin vendor-bin └── cs

    ├── composer.json ├── composer.lock └── vendor • `vendor-bin` の下に `cs` ディレクトリが掘られている
  6. 実際の様⼦ $ tree -L 2 vendor-bin vendor-bin ├── cs │

    ├── composer.json │ ├── composer.lock │ └── vendor └── metrics ├── composer.json ├── composer.lock └── vendor • 別に`metrics` 空間を掘ってみると・・? • composer global bin metrics require phpmetrics/phpmetrics
  7. こんなとこも
 気が利いていました • 特殊な名前 `all`
 => vendor-binに⼊っているものを⼀括操作 • composer bin

    all install • composer bin all update • `bin/` 下のsymlinkが衝突したら
 ⾃動で作成を省略してくれるみたい