私のプロジェクトでcommander.jsを使っています。コマンドのエイリアスを与えるときに奇妙な問題に直面しています。私はCommander.JS Examplenodejs commander.js "--help"に対して期待通りにエイリアスが動作しません
私は.command()
メソッドで始まったので、私はgitのようなコマンドを作成するために探しています。上記のrepoをクローンして、pm
の例でローカルに実行すると、helpオプションが期待通りに機能します。使用セクションでは 'pm'のみが使用され、 'install'コマンドには別名 'i'が '|'で区切られています。シンボル
使い方:午後[オプション] [コマンド]
コマンド:
インストール|私は[名] 1つ以上のパッケージ
他のオプションをインストール...
私自身のテストアプリケーションを実行すると、コマンドのエイリアスにテストアプリケーション名自体が追加され、次のような出力が得られます。
使い方:インデックス| R [オプション] [コマンド]
コマンド:
ランダムランダムコマンド
別名は 'r' の代わりにindexコマンドで表示されていることに注意してください'ランダム'コマンドの。 index.jsファイルにコマンドを追加すると、最後のエイリアスは実際に正しいコマンドで追加されるのではなく、Usage: index|<new alias>
に追加されます。
私は何が間違っているのか理解できません。誰か助けてもらえますか? -h
または--help
オプションを使用すると、正しい出力を得るにはどうすればよいですか?
index.js
#!/usr/bin/env node
'use strict';
var program = require('commander');
program
.version('1.0.0')
.command('random', 'random command')
.alias('r')
.parse(process.argv);
インデックスrandom.js
#!/usr/bin/env node
'use strict';
var program = require('commander');
program
.option('-r, --random <random>', 'Random command option')
.parse(process.argv);
Package.json
{
"name": "commander-test",
"version": "1.0.0",
"description": "Testing commander",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Raghuveer",
"license": "UNLICENSED",
"dependencies": {
"commander": "^2.9.0",
"graceful-readlink": "1.0.0"
}
}
再現手順:
node index -h
は、あなたがより多くの情報が必要な場合は私に知らせてください。
ありがとうございます。私はあなたから提案された変更を行ったが、それは仕事をしなかった。ノードインデックス-hを実行すると、 'random | r random command'ではなく' random random command'が表示されます。どの司令官のバージョンを使用していますか? – Raghuveer
私のpackage.jsonファイルで '' commander ":"^2.9.0 "の設定も使用しました。私にとっても、 'node index.js help'はエイリアスを表示しません。しかし、私が 'node index.js help random'と呼んだとき、私は別名を見ることができました。私は2つのコマンドを呼び出すと、私が得た出力で以前の答えを編集しました。 –