2016-06-18 7 views
1

Ich erstelle ein NPM-Paket, das in der Befehlszeile verwendet werden konnte. Ich verwende npm's bin, um meine JS-Datei anzugeben, die ausgeführt werden soll. Hier ist mein package.jsonnpm Bin-Skript wird nicht korrekt in Windows erstellt

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

Allerdings, wenn ich npm link laufen, die Batch-Befehl, der von npm erstellt wird hat Inhalt wie folgt aus:

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

Und wenn ich den Befehl ausführen, erhalte ich Fehler: /node_modules/textree/src/cli.js: Keine solche Datei oder das Verzeichnis

Wenn ich andere Kommandozeilen-Tools wie nodemon untersuchen, ihre Batch-Skript hat:

Da das Batch-Skript meines Tools keinen ähnlichen Code enthält, schlägt es fehl, wenn ich es ausführe.

Irgendeine Idee, wie man es repariert? Wie bekomme ich npm um dasselbe Skript wie in nodemon für mein Paket zu generieren?

Antwort

1

Ich habe es selbst herausgefunden. Ich habe es versäumt, die Hashbang-Zeile oben in meinem "./src/cli.js" -Skript hinzuzufügen.

#!/usr/bin/env node 
Verwandte Themen