Polecenie generowane przez npm nie wywołuje węzła

Próbuję utworzyć narzędzie wiersza polecenia node.js i problem z opakowaniem generowanym przez npm. Moje super proste demo to plik package.json:

{
    "name": "demo-cli",
    "version": "0.0.1",
    "bin": { "demo": "bin/demo-cli.js" }
}

A plik demo-cli.js:

console.log('DEMO WORKED');

Problem polega na tym, że instaluję moduł za pomocąnpm install -g podczas gdy w katalogu projektu otwieracz, który generuje, nie wywołuje węzła z plikiem jako parametrem. To jest wygenerowana zawartość demo.cmd:

:: Created by npm, please don't edit manually.
"%~dp0\.\node_modules\demo-cli\bin\demo-cli.js"   %*

Wersja unix ma ten sam problem. Patrząc na inny globalnie zainstalowany CLI widzę, że węzeł jest testowany i wywoływany zgodnie z oczekiwaniami.

:: Created by npm, please don't edit manually.
@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\.\node_modules\mocha\bin\mocha" %*
) ELSE (
  node  "%~dp0\.\node_modules\mocha\bin\mocha" %*
)

Jaki jest tajny sos potrzebny npm do wygenerowania odpowiedniego pliku skryptu? Wypróbowałem wszystko, co mogłem znaleźć lub wymyślić, w tym usunięcie rozszerzenia .js, preferując globalne, określając wersję węzła ... bez powodzenia.

Używam węzła v0.6.18 i npm v1.1.21 w systemie Windows 7 x64.

questionAnswers(1)

yourAnswerToTheQuestion