ts node - Falscher Ausdruck: Nicht-String-Wert an `ts.resolveTypeReferenceDirective` in TypeScript übergeben
Wenn ich versuche, ts-node-dev ./index.ts auszuführen, erhalte ich den unten stehenden Fehler. Ich habe mein TypeScript und ts-node-dev, ts-node aktualisiert, aber dieser Fehler taucht weiterhin auf. Wenn ich Abhängigkeiten entferne, die @types/XXXX (z.B. @types/express) enthalten, funktioniert es einwandfrei.
Falscher Ausdruck: Es wurde ein Nicht-String-Wert an ts.resolveTypeReferenceDirective übergeben, wahrscheinlich durch ein Wrapper-Paket, das mit einer veralteten resolveTypeReferenceDirectives-Signatur arbeitet. Dies ist wahrscheinlich kein Problem in TS selbst.
"dependencies": {
"ajv": "^8.9.0",
"axios": "^0.27.1",
"exceljs": "^4.3.0",
"express": "^4.17.1",
"json2csv": "^5.0.7",
"moment-timezone": "^0.5.33",
"mysql": "^2.18.1",
"mysql-utilities": "^1.1.3",
"q": "^1.5.1",
"ts-node": "^10.8.0",
"ts-node-dev": "^2.0.0",
"typescript": "^4.7.2",
"winston": "^3.3.3",
"winston-daily-rotate-file": "^4.5.5"
},
"devDependencies": {
"@types/chai": "^4.2.22",
"@types/express": "^4.17.11",
"@types/jest": "^27.4.0",
"@types/mocha": "^9.0.0",
"@types/mysql": "^2.15.20",
"@types/node": "^15.6.1",
"chai": "^4.3.4",
"jest": "^27.4.7",
"mocha": "^9.1.2",
"ts-jest": "^27.1.3"
},
Antwort #1
Das Upgrade auf "ts-node": "10.8.1" hat das Problem für mich gelöst.
Antwort #2
Lösung
Mein Problem wurde durch das Upgrade von TypeScript von 4.6 auf ^4.7 verursacht, und ich habe dies getan, um es zu beheben:
With NPM
npm install ts-node-dev@latest ts-node@latest
With yarn
yarn upgrade ts-node-dev@latest ts-node@latest
With pnpm
pnpm up ts-node-dev@latest ts-node@latest
Ich habe "ts-node": "^10.7.0" und "ts-node-dev": "^1.1.8" verwendet, nach dem Upgrade beider Dev-Abhängigkeiten wurde das Problem gelöst.
Warum
TS 4.7 aktualisiert den Auflösungsmodus (siehe die letzte Zeile). Da ts-node und ts-node-dev intern den alten Auflösungsmodus verwenden, behebt ein Update auf die neuere Version, genauer gesagt ts-node@>=10.8.0 und ts-node-dev@>=2, dieses Problem.
Dieses Kapitel wird für @KhachaturStepanyan hinzugefügt
Kurz gesagt
Nach dem Upgrade nur von "ts-node" (aus Houssem Hichris Antwort) blieb der Fehler bestehen, da ich "ts-node-dev": "^1.1.8" verwendete.
Antwort #3
Ich habe TypeScript auf 4.7.4 aktualisiert und das Problem behoben, indem ich ts-loader auf 9.3.1 aktualisiert habe.
