ni を使って npm や yarn、pnpm、bun のコマンドを統一する
Published Mar 15, 2025
⋅
Updated Mar 17, 2025
ni は、パッケージマネージャーのコマンドを統一するためのツール。
例えば、 yarn を使っているプロジェクトで pnpm dev
などを実行してしまうことがよくある。 ni を使えばそれを防ぐことができる。
また、ni を使うと、自動的に現在のプロジェクトで使用しているパッケージマネージャーを検出して正しいコマンドを使ってくれるので、どのパッケージマネージャーを使っているかを意識する必要がなくなる。
ni のインストールは次のコマンドから行える。
npm i -g @antfu/ni
インストール後、 ni が用意しているコマンドを使える。
よく使うコマンドは次の通り。他のコマンドについては antfu-collective/ni: 💡 Use the right package manager を参照。
ni
: 引数なしだとpnpm install
に、引数を与えるとpnpm add
などに該当nr
:pnpm run
などに該当nlx
:npx
,pnpm dlx
などに該当nu
:pnpm update
などに該当nun
:pnpm remove
などに該当nci
:npm ci
,pnpm install --frozen-lockfile
などに該当
さらに、次のようなコマンドエイリアスを設定しておくと、Vite や Astro プロジェクトなどで nrd
で開発サーバーを起動したりできるので便利。
alias nrd="nr dev"
alias nrb="nr build"
alias nrs="nr start"
alias nrp="nr preview"
ちなみに、ni はコマンドを実行する前に yarn.lock
, pnpm-lock.yaml
, package-lock.json
などを見つけて現在のパッケージマネージャーを知る。もしくは package.json
の packageManager
field を確認する。
関連ノート
参考