node.js環境でプログラムを組む際にnpm install やnpxをよく見かけますよね。でもよく違いが判らない。というわけなので、npmとnpxの違いと働きをリストします。
npm
npmというのはNode Package Managerの略でモジュールをインストールするときなどに利用します。
npm コマンド利用凡例
npm init -y //プロジェクトを初期化
npm install //プロジェクトをセットアップする。
npm install `モジュール名` //モジュールをインストールする。
npm start //これは使い方がちょっと異なるので後で解説
こんな感じですね。
init -y
:これは、projectを初期化する際に実行して、実行したディレクトリにpackage.json
を生成します。package.jsonの内容は以下が代表的です。
{
"name": "ディレクトリ名",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies":{}
}
Package.jsonの内容をすべて説明すると長くなるので、モジュールに関するものとかのみ触れます。
dependencies
で、利用するモジュールを定義します。
例:
{
"dependencies":{
"axios":"^1.11.0" //モジュール名とversion
}
}
Package.jsonにこれを含めた状態でnpm install
を実行するとaxiosがインストールされます。
scripts
これは、npm
で実行するショートカットのようなものです。
{
"script":{
"main":"処理(例:node .jsなど)"
}
}
これを含めた状態でnpm main
を実行すると"main"の値にある処理が実行されます。
モジュールのインストール
先ほどはpackage.json
に含めてインストールするという方法でしたが次はnpm install
でインストールする方法です。
これ簡単で、
npm install "モジュール名"
でいいんです。これでpackage.json
にも自動的に記入してくれるし、モジュールもインストールできます。
これがnpmの大体です。
npx
npxはNode Package eXecuteの略です。npxはnpmと違って、モジュールをインストールせずに、そのモジュールを利用する方法です。
簡単に言うと、一時的に使えるようにして、ディスクには保存されないということです。
利用例
npx axios
これで一時的にAxiosモジュールが利用できるようになりました。
これがnpmとnpxの違いです。
あ、因みにaxiosモジュールの説明はこちら
https://qiita.com/Kanade_dev/items/6a5d4520fba8c77e38cd
で説明してます。