小ネタです、タイトルにはnpm install
と書きましたがもちろんnpm start
などにも使えます。
TL;DR
npx --package=node@16.20.2 --package=npm@8.19.4 -- npm install
説明
最近はNodeインストール時にデフォルトで一緒にインストールされるnpx、これは例えば
npx create-next-app@latest
(https://nextjs.org/docs/app/api-reference/create-next-appより
など、その場で手軽にnodeパッケージを実行する時に使われたりします。
ところでこのnpxは実行したいコマンドのパッケージのバージョンを指定するオプションがありますが、さらに
- 実行したいコマンドと別にパッケージのバージョンを指定できる、しかも
--package
の書式なら複数OK
という事が出来るので、それを利用して「古いnpmと、そのnpmに必要な古いnodeをまとめて指定」して実行できます...というお話でした。
node開発において特定バージョンのnodeやnpmをプロジェクトごとに使い分けたい場合、Nodeのバージョン管理ツールを用いたりするのが一般的ですが、一時的に特定バージョンを使いたい時に便利かなと思います。