0
0

npxについて正しく理解する

Last updated at Posted at 2023-09-23

目次

  1. npxとは
  2. ユースケース
  3. 感想

1. npxとは

  • Node Package eXecuteの略

  • ローカルにインストールされたパッケージを検索し、実行可能ファイルを見つけて実行できる

    実行可能ファイルへのフルパスの入力を省略できるため、開発者は簡単かつ確実にパッケージを実行 できます。
        

    実行可能ファイルとは

    • node_modules/pacakge名/bin配下にあるファイルです。
    • ./node_modules/.bin配下にあるのは実行可能ファイルのシンボリックリンクです。
    • このシンボリックリンクはnpm install時に作成されます。
    • 実際にlsコマンドを実行すると、シンボリックリンクの場所や、それが指す実際の場所を確認できます。
      ls node_modules/.bin/prettier
      node_modules/.bin/prettier
      

    例えば、以下のコマンドでローカルにインストールされたprettierを実行できます。

    npx prettier .
    

    npxを使わない場合だと以下2つで実行できます。

    • ./node_modules/.bin/prettier(node_modules/bin/prettier.cjs)で直接実行

      ./node_modules/.bin/prettier
      
    • npm run scriptsで実行
      自動的に./node_modules/.bin内のprettierを見つけて実行します。

      package.json
      "scripts": {
          "prettier": "npx prettier ."
      }
      
  • ローカルになければリモートから取得して実行

    • パッケージをインストールしないので、マシン上のパッケージ汚染を気にしないで良いです。
      以下はcoswayの例です。
      image.png
      installするか聞かれるのでy(yes)を入力する。
      image.png
      npx実行後に、モジュールを実行しようとすると以下のようにアンインストールされいるのが確認できました。
      image.png

2.ユースケース

一度だけ使う時

例えばプロジェクトの初期化時です。
npxの最も一般的なアプリケーションは、create-react-appコマンドです。

GitHubのgistやリポジトリを直接実行したい時

動作の検証

例えば異なるpackageのバージョンをtestしたい時です。

3 感想

npx,実行ファイルのパスを指定,npm run scriptsがpakcage.jsonに入り乱れていたのでユースケースを意識したいと思いました。

参考

参考になる記事を記事を書いて下さった皆様に感謝致します!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0