npm, yarn, pnpm, npx概論

 
0
このエントリーをはてなブックマークに追加
Hakucho
Hakucho (白鳥)

npm, yarn, pnpmはそれぞれ別のパッケージマネージャー

※ 「パッケージマネージャー」は長いので今後このドキュメントでは「pm」と表記します

pythonではpoetryにあたります。

poetry add がそれぞれ npm install yarn add pnpm add にあたり、ライブラリを追加するとpyproject.tomlのようにpackage.jsonに追記され、poetry.lockのようなロックファイルを作成します。

この時プロジェクト直下にnode_modulesというフォルダが作成され追加されたライブラリ群の実体が格納されます。

KDOTのおすすめはpnpmです。

なぜならnode_modulesが小さくなり、実行速度も速いからです。

npx(npx)

eslintなど一部のライブラリは npm install などによってpackage.jsonに追加すると npm exec eslint (npm exec)などのようにシェルから直接実行可能になります。

npxはその「package.jsonに追加」の作業を飛ばすためのもので、 npx eslint と打つだけでインストールから実行までを全てやってくれます。(この時インストールされたものはキャッシュは残りますがpackage.jsonには追加されません)

各パッケージマネージャーのcreateコマンド(yarn create, npm create, pnpm create)

createコマンドはnpxができる前、createをプレフィックスに持つライブラリ(create-react-appなど)に対してのみ実行を簡略化するために作られたコマンドです(yarn create)

今はnpxが上位互換なので使うケースは少ないです。

ただcreateをプレフィックスに持つライブラリにだけはcreateコマンドを使った方がいいです。

そういったライブラリの中にはcreateコマンドを実行したpmに合わせてロックファイルを変えてくれるものがあります。(create-react-appはその代表例)

なのでcreateをプレフィックスに持つライブラリにはcreateコマンドを使うようにしてください。

info-outline

お知らせ

K.DEVは株式会社KDOTにより運営されています。記事の内容や会社でのITに関わる一般的なご相談に専門の社員がお答えしております。ぜひお気軽にご連絡ください。