2017-07-12 5 views
2

Das ist wirklich seltsam, ich habe folgende Skripte in meinem package.json:npm run „script“ tut nichts

"scripts": { 
    "lint": "./node_modules/tslint/bin/tslint src/js/**/*", 
    "lint:fix": "./node_modules/tslint/bin/tslint src/js/**/* --fix" 
}, 

Als ich npm run lint betreibe ich keine Fehler und läuft echo $? unmittelbar danach zeigt 0.

Allerdings, wenn ich tslint src/js/**/* ausführen bekomme ich Linting Fehler.

Wie kommt es?

Antwort

1

Es gibt eine Vielzahl von bekannten Problemen in npm durch die Verwendung von Globbing entstehen. Viele von ihnen betreffen ausschließlich Windows, während andere "nur" Shell-spezifisch sind.

Versuchen Sie Folgendes.

"scripts": { 
    "lint": "./node_modules/tslint/bin/tslint \"src/**/*.ts\"", 
}, 

Wenn dies nicht sofort Sie überzeugt, dass Computer eine Katastrophe für die Menschheit gewesen sind, können Sie mehr darüber erfahren, warum diese Probleme in den fantastischen auftreten The Linux Programming Interface, die eine überraschend hohe Zahl nicht abdeckt -Linux Portabilitätsprobleme wie diese.

+0

Schön, das hat funktioniert, '--project' wurde nicht erkannt, indem' \ "src/**/*. ts \" 'verwendet wurde! Vielen Dank – Kousha

0

Verwenden von npm run lint verwendet standardmäßig den tslint in den Knotenmodules Ihres lokalen Projektverzeichnisses, während Sie mit tslint src/js/**/* standardmäßig den in Ihrem globalen Standard verwenden, sollten Sie prüfen, ob eine Versionskonflikt vorliegt was könnte dazu führen, dass Unterschiede in den Regeln

+0

ya Ich aktualisierte mein Beispiel, ich änderte das Skript in './Node_modules/tslint/bin/tslint' aber immer noch das gleiche Ergebnis – Kousha

+0

Und nur weil ich paranoid war, tat ich' ./node_modules/tslint/bin/ tslint -v' und 'tslint -v' und beide drucken die gleiche Version – Kousha

+0

wierd, nicht sicher, ob dies hilft, aber es scheint, als ob andere das gleiche Problem haben? https://github.com/palantir/tslint/issues/2357 – ArcQ

0

Mit npm-run-scripts können Sie die ./node_modules/.bin als npm wird zuerst schauen dort hin.