PHP | |

npmコマンドと対応するcomposerコマンド

他になんか新しいコマンド使ったら追記する

[ npm 6.10.2 / Composer 1.9.0 ]

  1. 全体として
  2. npm -v
  3. npm init
  4. npm list
  5. npm install -g <package>
  6. npm install <package>
  7. npm install --save-dev <package>
  8. npm install
  9. npm install --production
  10. npm update <package>
  11. npm remove <package>
  12. npm remove --save-dev <package>
  13. npm update
  14. npm run <script>
  15. npm install -g npm

全体として

だいたい雰囲気は同じだけどパッケージ名がベンダー名とセットなのを留意

  • package.json ファイル → composer.json ファイル
  • package.jsondependenciescomposer.jsonrequire
  • package.jsondevDependenciescomposer.jsonrequire-dev
  • package-lock.json ファイル → composer.lock ファイル (バージョン管理には含めるべき)
  • node_modules フォルダ → vendor フォルダ
  • node_modules/パッケージ名vendor/ベンダー名/パッケージ名
  • node_modules/.bin フォルダ → vendor/bin フォルダ

npm -v

composer-v は無い

composer --version

npm init

composer.json ファイルが作成される

composer init

npm list

インストール済みパッケージの一覧を表示

composer show

npm install -g <package>

COMPOSER_HOME にインストールされる。Windowsだと C:\Users\{ユーザー}\AppData\Roaming\Composer

composer require <vendor>/<package>

npm install <package>

やると composer.jsonrequire に追記される

composer require <vendor>/<package>
バージョン指定
composer require <vendor>/<package>:1.1

npm install --save-dev <package>

やると composer.jsonrequire-dev に追記される

composer require --dev <vendor>/<package>

npm install

composer.lock ファイルがある場合、それを元にインストールされる。無ければ composer.json を元にパッケージをインストールし、composer.lock を作成する。

composer install

npm install --production

require-dev 抜き (require だけ) でインストールする

composer install --no-dev

npm update <package>

やると composer.lock が更新される

composer update <vendor>/<package>

npm remove <package>

やると composer.jsonrequire から除去される

でも require-dev にしか無いパッケージを指定しても、消すか聞かれて、yesと言えば消してくれる

composer remove <vendor>/<package>

npm remove --save-dev <package>

やると composer.jsonrequire-dev から除去される

composer remove --dev <vendor>/<package>

npm update

npm update の正確な挙動を把握してなくてあれなんだけど、composer では composer.json を元に最新のライブラリがインストールされて、composer.lock も更新されるらしい

composer update

npm run <script>

composer <script>

内容は composer.jsonscripts として定義しておく

{
	"scripts": {
		"test": [
			"phpunit"
		]
	}
}

npm install -g npm

npm自体をバージョンアップできるのと同じように、composer自体をバージョンアップできる

composer self-update

参考にさせていただいた記事