在macOS系统下,使用DevEco Studio进行元服务调试时,运行ASCF Debugger无法正常展示Chrome调试界面,调试器启动失败。查看DevEco Studio运行日志,出现env: node: No such file or directory及依赖包未找到的报错信息:
09:31:33.217 > WARN hdc exec cmd error Error: Command failed: /Applications/DevEco-Studio.app/Contents/tools/node/bin/npm info --json chrome-devtools-built@1.20253003.0 env: node: No such file or directory 09:31:33.219 > ERROR json parse json error SyntaxError: JSON5: invalid character 'u' at 1:1 09:31:33.220 > ERROR npmUtils chrome-devtools-built@1.20253003.0 is not found 09:31:33.220 > ERROR DebuggerProcess install devtools failed, please open chrome://inspect in browser(chrome/edge) to debug
报错截图如下:


导致ASCF Debugger报错的根本原因是macOS图形界面应用的环境变量隔离。
开发者虽然在系统中安装了Node.js,但通过点击图标常规启动的DevEco Studio运行在受限的环境变量沙盒中,无法读取到/usr/local/bin/node等用户级路径。当IDE内置脚本尝试执行npm info命令去下载调试依赖包chrome-devtools-built时,因找不到Node执行文件而崩溃,最终导致调试器启动失败。
推荐使用终端引导法一次性解决该问题。通过终端拉起IDE完成首次依赖下载后,后续即可恢复常规使用习惯。
Q:为什么在Mac终端里执行node -v完全正常,但DevEco Studio里还是报node: No such file?
A:这是因为macOS下终端和图形界面程序(如双击打开的IDE)的环境变量是隔离的。终端能读取到使用者自行配置的Node路径,但IDE默认只能读取系统极基础的变量路径,从而导致该报错。
Q:使用终端open命令启动IDE并成功调试后,以后每次开发元服务都需要这样启动IDE吗?
A:不需要。这种方法只是为了让IDE在首次运行时拥有足够的环境变量去下载依赖包。一旦chrome-devtools-built工具包下载并安装成功,IDE后续便无需再次执行该npm脚本,可以直接通过点击图标常规启动IDE进行调试。