2015-12-18 4 views
10

gefunden Ich versuche npm Paket zu veröffentlichen, wenn ich das Paket global bin installieren und versuchen, den cli Befehl ich diesen Fehler erhalten laufen:Knoten npm Paket throw use strict: Befehl nicht nach veröffentlichen und installieren globaly

/.nvm/versions/node/v0.12.2/bin/myPack: line 1: use strict: command not found 
/.nvm/versions/node/v0.12.2/bin/myPack: line 3: syntax error near unexpected token `(' 
/.nvm/versions/node/v0.12.2/bin/myPack: line 3: `var _commandLineArgs = require('command-line-args');' 

die Spitze der Datei, die die Fehler verweisen:

'use strict'; 

var _commandLineArgs = require('command-line-args'); 

var _commandLineArgs2 = _interopRequireDefault(_commandLineArgs); 

der package.json ist Schnitt:

"bin": { 
    "myPack": "dist/myPack.js" 
    } 

Wenn ich das in meiner lokalen Entwicklung betreibe funktioniert das gut, was ist das Problem?

Antwort

31

Ihr Skript sollte mit einer shebang Zeile beginnen, andernfalls wird es als Shell-Skript ausgeführt (daher die Fehler).

Fügen Sie diese als erste Zeile dist/myPack.js:

#!/usr/bin/env node