You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL环境下TypeScript编译报错TS5024:target选项需字符串值

TypeScript开发环境脚本执行问题

在WSL环境搭建TypeScript开发环境时碰到个问题:

  • 项目目录外执行 ts-node -e 'console.log("hello")' 完全正常
  • 进到项目目录里跑同样的命令,直接报错:
    TSError: ⨯ Unable to compile TypeScript: error TS5024: Compiler option 'target' requires a value of type string.
    

项目配置文件

package.json

{
  "license": "ISC",
  "scripts": {
    "lint:fix": "prettier */*.js \"*/**/*{.js,.ts}\" -w",
    "lint": "prettier */*.js \"*/**/*{.js,.ts}\" --check"
  },
  "dependencies": {
    "@coral-xyz/anchor": "^0.30.1"
  },
  "devDependencies": {
    "@types/bn.js": "^5.1.0",
    "@types/chai": "^4.3.0",
    "@types/mocha": "^9.0.0",
    "@types/node": "^20.14.8",
    "chai": "^4.3.4",
    "mocha": "^9.0.3",
    "prettier": "^2.6.2",
    "ts-mocha": "^10.0.0",
    "ts-node": "^10.9.2",
    "tslib": "^2.6.3",
    "typescript": "^5.5.2"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "types": ["mocha", "chai", "node"],
    "typeRoots": ["./node_modules/@types"],
    "lib": ["es2015", "dom"],
    "module": "commonjs",
    "target": ["es6"],
    "esModuleInterop": true
  }
}

环境与已执行操作

  • Node版本:20.15.0(nvm安装)
  • 已经执行过这些安装命令:
    # 项目本地安装依赖
    npm install -D typescript
    npm install -D ts-node
    
    # 全局安装TypeScript和ts-node
    npm install -g typescript
    npm install -g ts-node
    
    # 额外安装的依赖
    npm install -D tslib @types/node
    

解决方法

问题出在tsconfig.json的target配置上——TypeScript的target选项要求是单个字符串值,但你写成了数组["es6"],这就触发了类型错误。

修改tsconfig.json里的target字段,把数组改成字符串:

"target": "es6"

保存文件后,再去项目目录里执行ts-node -e 'console.log("hello")'就能正常运行了。

补充一句:lib选项确实是数组类型(比如你配置的["es2015", "dom"]),但target是单个字符串,别搞混了。

内容的提问来源于stack exchange,提问作者El Pandario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 21:54:57