trae安装figmaMCP插件一直报错

报错提示:
file:///C:/Users/86182/AppData/Local/npm-cache/_npx/e05028111420be70/node_modules/@jimp/plugin-print/dist/esm/load-bitmap-font.js:7
import xmlPackage from “simple-xml-to-json”;
^^^^^^^^^^
SyntaxError: The requested module ‘simple-xml-to-json’ does not provide an export named ‘default’
at ModuleJob._instantiate (node:internal/modules/esm/module_job:213:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:320:5)
at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)
Node.js v20.20.2

你的运行环境(版本号「点击帮助-关于-复制」):

3.5.43

问题描述(你遇到了什么问题?):

请替换此行填写

复现步骤(如何才能重现这个 Bug/问题?):
1.注册figma,创建token
2.trae中添加figma mcp,填入token
3.创建mcp中,中途报错

报错信息或截图(如有):

报错提示:

file:///C:/Users/86182/AppData/Local/npm-cache/_npx/e05028111420be70/node_modules/@jimp/plugin-print/dist/esm/load-bitmap-font.js:7
import xmlPackage from “simple-xml-to-json”;
^^^^^^^^^^
SyntaxError: The requested module ‘simple-xml-to-json’ does not provide an export named ‘default’
at ModuleJob._instantiate (node:internal/modules/esm/module_job:213:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:320:5)
at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)

Node.js v20.20. 2

已经清楚缓存,但是依然再反复报错,这是为什 么

1 个赞

我理解了,你在添加 Figma MCP 的过程中遇到了 simple-xml-to-json 模块导入错误,清除缓存后依然报错。

这是一个依赖包版本兼容性问题,@jimp/plugin-print 使用的默认导入方式和当前安装的 simple-xml-to-json 版本不匹配。

你可以先试试这个方法:清除 npx 缓存后强制重新拉取最新版本的 Figma MCP 服务。在终端执行命令 npx clear-npx-cache,然后重新在 TRAE 中添加 Figma MCP 配置。

你试试看这个方法能否解决问题?

1 个赞

已经试过了 依然存在这个问题

1 个赞

我理解了,清除 npx 缓存后这个依赖导入问题依然存在。

这是 Figma MCP Server 依赖的 @jimp 包和 simple-xml-to-json 模块之间的 ESM 导出兼容性问题。你可以试试手动全局安装兼容版本的依赖包:

在终端执行 npm install -g simple-xml-to-json@1.1.0,这个版本提供了正确的默认导出。然后重启 TRAE 重新添加 Figma MCP 配置。

你试试看这个方法能不能解决问题?

1 个赞

依然报错:file:///C:/Users/86182/AppData/Local/npm-cache/_npx/e05028111420be70/node_modules/@jimp/plugin-print/dist/esm/load-bitmap-font.js:7
import xmlPackage from “simple-xml-to-json”;
^^^^^^^^^^
SyntaxError: The requested module ‘simple-xml-to-json’ does not provide an export named ‘default’
at ModuleJob._instantiate (node:internal/modules/esm/module_job:213:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:320:5)
at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)

Node.js v20.20.2

1 个赞

我理解了,即使全局安装了兼容版本,npx 仍然在使用缓存中的旧依赖导致问题依旧存在。

这是因为 npx 会优先使用本地缓存的版本,而忽略全局安装。我们需要一个更彻底的解决方案:手动指定使用兼容版本或者修改 Node.js 的模块解析方式

你可以试试这个方法:在添加 Figma MCP 时,使用环境变量让 Node.js 允许不兼容的导入方式。在终端启动 TRAE 之前先执行:

set NODE_OPTIONS=--experimental-specifier-resolution=node

然后再从终端启动 TRAE,重新添加 Figma MCP 配置。

如果还是不行,另一个方案是直接删除 npx 缓存目录:

rmdir /s /q C:\Users\86182\AppData\Local\npm-cache\_npx

删除后重新尝试添加。

你先试试设置环境变量这个方法,看看能否解决?

1 个赞

您试下执行这两行命令

npm uninstall simple-xml-to-json

npm install simple-xml-to-json

1 个赞