🐕
npm yarn pnpmをもう迷わないために
こんな悩みを抱えたエンジニアへ
- yarnのプロジェクトで
package-lock.json
がコミットされている - コマンド覚えるのが億劫でpnpmのプロジェクトでこっそりyarnを使ってる
- yarn使ってるのにnpxを使ってる
- さまざまなパッケージマネージャーでグローバルインストール(
-g
)しちゃってる
無限に出てきます。これら操作を共通化する便利ツールの紹介です。
@antfu/ni
を使おう
解決策
npm i -g @antfu/ni
これをインストールさえしちゃえばもう迷うことはありません。
仕組みは簡単で、プロジェクトのロックファイル(yarn.lock, package-lock.json, pnpm-lock.yaml)をみて判断しています。
ni react # 妥当なパッケージマネージャーでインストール
ni -g firebase-tools # グローバルインストール
nr build # ビルド
nr # 利用可能なスクリプト一覧(最強!)
nr - # 直前のスクリプト実行
nx gh-pages -d storybook-static #npx, yarn dlx, pnpm dlxを実行
デフォルトのパッケージマネージャーを指定する
ロックファイルがない場合にpnpmを利用する例です。
グローバルインストールするときに使うので設定しておくといいでしょう。
; ~/.nirc
; fallback when no lock found
defaultAgent=pnpm
; for global installs
globalAgent=pnpm
まとめ
コマンドエイリアスとしても便利なので使ってない人はぜひお試しください。
感想等お待ちしております。
Discussion