typescript - Används en annan version av tsc när man använder npm run?
Jag har VS Code och ett Node.js-projekt som använder Typescript. I mitt package.json-script-block finns det ett objekt:
"build-ts": "tsc"
Om jag kör enkel tsc på den integrerade terminalens kommandorad, är kompileringen okej. Men om jag kör npm run build-ts upptäcker det syntaxfel i en fil. Orsaken till felet verkar komma från en äldre kompilatorversion.
Om jag kör tsc -v på kommandoraden, visar det Version 2.9.2. Använder npm run någon annan version av tsc någonstans?
Förresten, är npm run från paketet npm-run-script? Jag körde ett npm list och jag kunde inte hitta npm-run-script lokalt eller globalt.
Svar #1
Frågan löstes via kommentar, men jag lämnar ändå detta svar här som en lite mer utförlig version.
När du kör
npm run(ellernpm run-script) söker det först efter de körbara filerna som är installerade lokalt. Detta möjliggör att använda olika versioner av dessa körbara filer för varje projekt (till exempel, om ett bibliotek är inkompatibelt med en ny version avtsc). Så omtscär installerad som ett beroende (eller dev-beroende), kommernpm runatt köra den, och inte den som är installerad globalt. Samma gäller förgulpoch andra CLI-verktyg.npm run-scriptär inte ett paket, det är ett interntnpm-kommando, precis sominstalloch andra. Du kan kontrollera detta mednpm help- detta kommando visar listan över alla inbyggda kommandon på en gång.