2013-09-04 5 views
13

In meinem composer.json fehlschlägt, gibt es eine postinstall Haken Setup wie folgt aus:npm post mit mehreren Befehlen

"scripts" : { 
    "dist" :  "node dist; node_modules/.bin/doccoh src/package.js", 
    "postinstall" : "node_modules/.bin/grunt setup || true; node_modules/.bin/bower install", 
    "start" :  "node server.js" 
} 

Jedes Mal, wenn ich es laufen (auf Win von Git/Gnu Bash CLI), habe ich am Ende mit

command not found. either the command was written wrong or couldn't be found

Grobe Übersetzung aus dem deutschen CLI Fehler.

Ich versuchte, es in mehrere Aufspalten ;/Semikolon getrennte Teile und erste cd in das Verzeichnis, aber es endet einfach mit der gleichen Fehlermeldung auf. Das Ersetzen des gesamten postinstall Befehlssatzes mit einem einfachen ls funktioniert. Also ich errate das Problem könnte die Semikolon Trennung oder eine falsche Verwendung von Befehlen sein. Aber insgesamt habe ich keine Ahnung, was los ist.

Hinweis: Ich habe grunt-cli Version 0.1.9 und grunt Version 0.4.1 global installiert.

+2

dies ein bisschen spät sein kann, aber: Sie können 'grunt',' grunt-cli' und 'bower' lokal (!) Installieren und dann den Pfad (' node_modules/.bin') aus Ihrem 'package.json' löschen. NPM findet 'grunt' und' bower', wenn sie in 'node_modules' installiert sind: https://npmjs.org/doc/misc/npm-scripts.html (Abschnitt" ENVIRONMENT ") – svckr

+1

@svckr +1 die' ' node_modules/.bin' part hat den Trick für mich gemacht. – James

+0

@svckr Möchten Sie das als Antwort hinzufügen? – kaiser

Antwort

2

Ich lief in diese Suche nach etwas und dachte, dass dies anderen Menschen helfen kann. Ich habe es einfacher gefunden, zu postinstall.js Dateien zu verschieben, da die Dinge ein wenig kompliziert werden. Dies macht es leichter, vorwärts zu kommen.

+4

Würde es Ihnen etwas ausmachen, einen Prozess zu bearbeiten und Ihren Prozess etwas genauer zu beschreiben? Danke im Voraus. – kaiser

30

Ich bin ein bisschen spät zu beantworten, aber wenn Sie unter Windows sind, mehr Befehle in einer Zeile sind mit der Verwendung von & ausgeführt &

postinstall: "some command && some other -c" 
+5

Kennen Sie einen Weg, dies mit plattformübergreifender Unterstützung zu tun? – Plato

+10

@Plato Der '&&' -Operator sollte auch auf * nix-Systemen funktionieren. –

+1

Funktioniert nicht auf PowerShell obwohl .. –