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

执行npm run test:pact时Pact启动失败,路径报错求助

执行npm run test:pact时Pact启动失败的解决办法

问题现象

执行npm run test:pact时持续触发以下错误:

pact-core@11.1.1: Pact Binary Error: /Users/abc/Documents/Pega
Docs/Code
Bases/studiox-ui-service/packages/core/node_modules/@pact-foundation/pact-core/standalone/darwin-1.88.63/pact/lib/ruby/bin/ruby:
line 14: Docs/Code: No such file or directory
pact-core@11.1.1: Pact exited with code 1.
Pact startup failed; tried calling service 60 times with no result.

环境版本

  • node version: 14.20.0
  • npm version: 6.14.17
  • @pact-foundation/pact: "10.0.0-beta.44"

问题原因

项目所在路径包含空格(Pega Docs/Code Bases),Pact的Ruby启动脚本未对带空格的路径做转义处理,导致Shell解析时将空格后的Docs/Code识别为独立的目录/命令,最终找不到对应路径。

解决方案

1. 迁移项目到无空格路径(推荐)

将项目移动到不含空格的目录下,例如把原路径/Users/abc/Documents/Pega Docs/Code Bases/studiox-ui-service修改为/Users/abc/Documents/PegaDocs/CodeBases/studiox-ui-service,之后重新执行npm install和npm run test:pact。

2. 临时修改启动脚本(仅临时测试用)

如果暂时无法迁移项目,可修改Pact的Ruby启动脚本,对路径做引号包裹处理(注意:此方式会修改node_modules内文件,依赖更新后失效):
找到报错提示中的脚本路径/Users/abc/Documents/Pega Docs/Code Bases/studiox-ui-service/packages/core/node_modules/@pact-foundation/pact-core/standalone/darwin-1.88.63/pact/lib/ruby/bin/ruby,打开文件后将第14行涉及路径的代码用双引号包裹。

内容的提问来源于stack exchange,提问作者Prakash Reddy Potlapadu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:25:51