LoginSignup
7
5

More than 5 years have passed since last update.

node.jsによるコマンドラインツール 導入

Posted at

node.jsのスクリプトをコマンドラインツールとして動作させる手順。

linux(OS Xも?)だとenvコマンドというのがあって、shellを介してこれと連携すれば簡単にできる。

スクリプトの先頭に、

#!/usr/bin/env node

と書いてスクリプトに実行権限を付与するだけ。

hello_cls.js
#!/usr/bin/env node
/*
node.jsのスクリプトをコマンドラインツールとして動作させる
 */
'use strinct';
console.log("Hello, CLI.");

ならば、スクリプトがあるディレクトリで、

hello_cli.jsを実行

 $ ./hello_cli.js
 Hello, CLI.
 $

しかしこれだとPathが通っていなければそのディレクトリでしか実行できない。
スクリプトは実行単位(といえばいいのか)ごとにディレクトリ切ることが多いはずだからPathを通すのは現実的でない。

で、どうするかというと、npmでglobalインストールする。

インストールの設定のためにpackage.jsonファイルを作成する。

package.json
{
        "name": "hello_cli",
        "version": "0.0.1",
        "description": "First node.js script for CLI.",
        "author": "Lin Quan Studio.",
        "engines": {"node": ">=0.10"},
        "dependencies": {},
        "bin": {"hello_cli": "hello_cli.js"}
}

"bin"にインストールするコマンド名とスクリプトのペアを指定する。

書いたらそのディレクトリで、

グローバルインストール
 $ sudo npm install -g

でインストールすればコマンドとして実行できるようになる。

DOS(Windows)のコマンドプロンプトでは、envコマンドがなければスクリプトを直接実行はできないが、グローバルインストールすれば実行できるようになるので便利。

7
5
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
7
5