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

使用jasmine-ts时出现"Error: package subpath.."报错如何解决

报错根因

该报错和ts-node版本无直接关联,核心原因是:
jasmine 4.0及以上版本在package.json中新增了exports字段限制,禁止外部包直接引用./lib/command这类内部路径,而你使用的jasmine-ts包已停止维护多年,代码中硬编码了对jasmine该内部路径的引用,直接触发了路径解析错误。你之前降级ts-node的操作属于方向错误,无法解决问题。

解决步骤

你可以任选以下一种方案修复:

  • 方案1(最小改动,快速修复)
    将jasmine降级到未加exports路径限制的3.x最终稳定版,和现有jasmine-ts完全兼容:
    1. 执行安装命令锁定版本:
      npm install jasmine@3.99.0 --save-dev
      
    2. 直接运行原有测试命令npm test即可正常执行,无需修改现有脚本、配置。
  • 方案2(长期维护方案,推荐)
    弃用已停更的jasmine-ts,使用jasmine原生支持的ts加载能力,可兼容最新版jasmine:
    1. 卸载废弃依赖:
      npm uninstall jasmine-ts --save-dev
      
    2. 安装必要依赖:
      npm install jasmine ts-node --save-dev
      
    3. 修改package.json中的test脚本为:
      "test": "jasmine --require=ts-node/register"
      
    4. 检查jasmine配置文件中的spec路径匹配你的.ts测试文件位置即可,无其他额外配置要求。
避坑说明

不要盲目将ts-node降级到8.x版本,该版本对新版TypeScript语法、特性支持极差,后续会引出更多类型解析、语法兼容类问题。


内容的提问来源于stack exchange,提问作者Abdel-Rahman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 13:39:18