2016-06-18 20 views
1

コマンドラインで使用できるNPMパッケージを作成しています。私はnpmのbinを使用してJSファイルを指定して実行しています。Windowsでnpm binスクリプトが正しく作成されない

@"%~dp0\node_modules\textree\src\cli.js" %* 

そして、私は、コマンドを実行すると、私はエラーを取得しています:ここでは私のpackage.jsonは、私がnpm link実行したときに、NPMによって作成されていますバッチコマンドは、このようなコンテンツを持っている、

"name": "textree", 
"bin": { 
    "textree": "./src/cli.js" 
    }, 

があります: /node_modules/textree/src/cli.js:そのようなファイルやディレクトリは

ありません、私は、このようなnodemonなどの他のコマンドラインツールを調べると、そのバッチスクリプトがあります。

@IF EXIST "%~dp0\node.exe" (
    "%~dp0\node.exe" "%~dp0\node_modules\nodemon\bin\nodemon.js" %* 
) ELSE (
    @SETLOCAL 
    @SET PATHEXT=%PATHEXT:;.JS;=;% 
    node "%~dp0\node_modules\nodemon\bin\nodemon.js" %* 
) 

私のツールのバッチスクリプトには同様のコードが含まれていないため、実行すると失敗します。

どのように修正するのですか?私のパッケージのためにnodemonと同じスクリプトを生成するにはどうすればいいですか?

答えて

1

私はそれを自分で考え出しました。私は私の "./src/cli.js"スクリプトの最上部にhashbang行を追加していませんでした。

#!/usr/bin/env node 
関連する問題