Tech Racho エンジニアの「?」を「!」に。
  • Ruby / Rails以外の開発一般

npxを使って一時的に特定バージョンのnodeとnpmで「npm install」する

小ネタです、タイトルには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のバージョン管理ツールを用いたりするのが一般的ですが、一時的に特定バージョンを使いたい時に便利かなと思います。

関連記事

Electronでローカルファイルを扱うWindowsアプリは、v29にアップデートする前に気をつけよう


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。