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

Angular 15升级后高版本svg-to-ts命令未识别问题求助

Angular 15升级后svg-to-ts高版本报错:'svg-to-ts' 未识别为命令

问题场景

将Angular从10升级到15后,svg-to-ts包在版本8或最新版10时执行npm run generate-icons会报错:

'svg-to-ts' is not recognized as an internal or external command,
operable program or batch file.

回退到svg-to-ts@5时可正常运行,当前package.json配置如下:

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "generate-icons": "svg-to-ts"
  },
"svg-to-ts": {
    "generateType": "false",
    "delimiter": "KEBAB",
    "conversionType": "files",
    "iconsFolderName": "icons",
    "prefix": "app",
    "srcFiles": [
      "./src/assets/images/Svg/*.svg"
    ],
    "outputDirectory": "./src/assets/images/Svg",
    "svgoConfig": {
      "plugins": [
        {
          "removeDimensions": true
        },
        {
          "cleanupAttrs": true
        }
      ]
    }
  }

解决方案

  • 确保本地安装svg-to-ts
    全局安装的包可能和Angular 15的Node环境不兼容,执行本地安装命令:

    npm install svg-to-ts@latest --save-dev
    
  • 修改npm脚本,明确调用本地命令
    把脚本中的svg-to-ts替换为npx svg-to-ts,或者直接指定本地路径:

    "generate-icons": "npx svg-to-ts"
    

    或者:

    "generate-icons": "./node_modules/.bin/svg-to-ts"
    
  • 检查Node.js版本兼容性
    Angular 15要求Node.js 16.10+,svg-to-ts高版本可能依赖更高的Node版本,确认你的Node版本符合要求(建议v16.x或v18.x)。

  • 修正配置项格式
    高版本svg-to-ts中generateType要求是布尔值而非字符串,将配置中的"generateType": "false"改为:

    "generateType": false
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 23:31:14