Node.js パッケージ実行方法
Node.jsでローカルにインストールしたパッケージのexecutableを使う方法 (日本語)
Node.jsでローカルにインストールしたパッケージのexecutable(実行可能ファイル)を使うには、いくつかの方法があります。
パッケージ名で直接実行
node_modules
フォルダに直接移動し、パッケージ名で実行します。
cd your-project-directory/node_modules
./package-name
npm script
package.json
ファイルにスクリプトを定義し、それを実行します。
{
"scripts": {
"my-script": "package-name --option1 --option2"
}
}
npm run my-script
npx
npx
コマンドを使用して、ローカルにインストールされたパッケージのexecutableを直接実行します。
npx package-name --option1 --option2
シンボリックリンク
node_modules/.bin
フォルダにシンボリックリンクを作成し、そこから実行します。
npm link package-name
package-name --option1 --option2
注意
node_modules
フォルダがプロジェクトのルートディレクトリにあることを確認してください。- 正しいオプションや引数を指定してください。
- パッケージのexecutableが存在するかどうかを確認してください。
cd your-project-directory/node_modules
./eslint --fix
eslint
はコードリンターのパッケージです。--fix
オプションは自動修正を行います。
{
"scripts": {
"lint": "eslint --fix"
}
}
npm run lint
package.json
にスクリプトを定義し、npm run
で実行します。
npx eslint --fix
npx
を使って直接実行します。
npm link eslint
eslint --fix
- シンボリックリンクを作成し、グローバルコマンドのように使います。
Node.jsパッケージ実行方法
const { exec } = require('child_process');
exec('eslint --fix', (error, stdout, stderr) => {
if (error) {
console.error(`error: ${error}`);
}
console.log(`stdout: ${stdout}`);
console.error(`stderr: ${stderr}`);
});
exec
メソッドは、コマンドを実行し、その結果をコールバック関数で受け取ります。child_process
モジュールを使って、コマンドを実行します。
JavaScriptから直接実行
const { spawn } = require('child_process');
const child = spawn('eslint', ['--fix']);
child.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
child.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
child.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
stdout
とstderr
イベントで標準出力と標準エラー出力を処理します。
npm scriptsで複数のコマンドを実行
{
"scripts": {
"build": "tsc && eslint --fix"
}
}
package.json
のスクリプトで複数のコマンドをパイプで繋げることができます。
環境変数でパッケージのパスを指定
PATH=$PATH:./node_modules/.bin
eslint --fix
- 環境変数
PATH
にパッケージのパスを追加することで、グローバルコマンドのように使用できます。
yarn workspaces
- マルチレポジトリプロジェクトで、ワークスペースを使用することで、パッケージを共有して使用できます。
pnpm
pnpm
はパッケージマネージャーで、ハードリンクを使用してパッケージを共有し、ディスクスペースを節約します。
node.js coffeescript npm