2015-04-20 1 views
0

я опубликовал пакет, НПМ себя: makeTimeTableПочему командный скрипт, сгенерированный для моего пакета npm, отличается от другого пакета?

Я установил его с удовольствием в Cygwin:

npm install -g maketimetable 

Но когда я пытаюсь запустить командную строку, выдается ошибка:

/node_modules/maketimetable/cli.js: No such file or directory 

Наконец, я выясню, что файл сценария команды (C:\Users\xxx\AppData\Roaming\npm\maketimetable), сгенерированный при установке моего пакета, отличается от других инструментов командной строки, которые я установил, ниже мой:

"$basedir/node_modules/maketimetable/cli.js" "[email protected]" 
exit $? 

другие инструменты глобальной командной строки сценарий, как это:

#!/bin/sh 
basedir=`dirname "$0"` 

case `uname` in 
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 
esac 

if [ -x "$basedir/node" ]; then 
    "$basedir/node" "$basedir/node_modules/eslint/bin/eslint.js" "[email protected]" 
    ret=$? 
else 
    node "$basedir/node_modules/eslint/bin/eslint.js" "[email protected]" 
    ret=$? 
fi 
exit $ret 

Так в других инструментах сценария, он будет различать ли я с помощью Cygwin, он будет относиться путь и каталог немного иначе. Но почему сценарий моего пакета отличается от этого? Как я могу заставить npm генерировать такой же скрипт для моего пакета?

ответ

1

Попробуйте поставить #!/usr/bin/env node в качестве первой строки вашего cli.js.

Смежные вопросы