kurisaW / Summer-of-Open-Source

记录开源之夏
MIT License
6 stars 0 forks source link

【报错信息】FAILED TO EXECUTE ZAP GENERATION: No such file or directory - "zap-cli" #55

Open kurisaW opened 1 year ago

kurisaW commented 1 year ago

详细日志:

root@kurisaw-virtual-machine:/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip# ./scripts/tools/zap/generate.py examples/placeholder/linux/apps/app1/config.zap -t examples/placeholder/templates/templates.json -o zzz_generated/placeholder/app1/zap-generated
Searching for zcl file from /home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/linux/apps/app1/config.zap
Error: /home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/templates/templates.json does not exists or is not a file.
root@kurisaw-virtual-machine:/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip# ./scripts/tools/zap/generate.py examples/placeholder/linux/apps/app1/config.zap -t examples/placeholder/linux/apps/app1/templates/templates.json -o zzz_generated/placeholder/app1/zap-generated
Searching for zcl file from /home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/linux/apps/app1/config.zap
FAILED TO EXECUTE ZAP GENERATION: No such file or directory - "zap-cli"
********************************************************************************
* You may need to install zap. Please ensure one of these applies:
* - `zap-cli` is in $PATH. Install from https://github.com/project-chip/zap/releases
*   see docs/guides/BUILDING.md for details
* - `zap-cli` is in $ZAP_INSTALL_PATH. Use this option if you
*   installed zap but do not want to update $PATH
* - Point $ZAP_DEVELOPMENT_PATH to your local copy of zap that you
*   develop on (to use a developer build of zap)
********************************************************************************
kurisaW commented 1 year ago

解决办法

首先需要确保当前分支已经切出为v1.0,可使用如下命令:

git checkout v1.0

然后重新运行上述命令可以发现产生新的报错:

root@kurisaw-virtual-machine:/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip# ./scripts/tools/zap/generate.py examples/placeholder/linux/apps/app1/config.zap -t examples/placeholder/templates/templates.json -o zzz_generated/placeholder/app1/zap-generated
Searching for zcl file from /home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/linux/apps/app1/config.zap
internal/modules/cjs/loader.js:818
  throw err;
  ^

Error: Cannot find module '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/third_party/zap/repo/src-script/zap-generate.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
Traceback (most recent call last):
  File "/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/./scripts/tools/zap/generate.py", line 230, in <module>
    main()
  File "/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/./scripts/tools/zap/generate.py", line 218, in main
    runGeneration(zap_file, zcl_file, templates_file, output_dir)
  File "/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/./scripts/tools/zap/generate.py", line 141, in runGeneration
    subprocess.check_call(['node', './src-script/zap-generate.js', '-z',
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['node', './src-script/zap-generate.js', '-z', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/src/app/zap-templates/zcl/zcl.json', '-g', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/templates/templates.json', '-i', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/linux/apps/app1/config.zap', '-o', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/zzz_generated/placeholder/app1/zap-generated']' returned non-zero exit status 1.

这个报错的前提就是必须得切出分支到v1.0,同时我们根据报错信息来到third_party/zap/下,这里我们可以看到官方在此处是包含了一个下游仓库zap的,但是这里不知道为什么没有更新拉取到,使用更新子模块命令也无法成功,所以我们这里手动克隆zap,同时将repo文件夹删除,并将zap目录更名为repo

cd third_party/zap
git clone https://github.com/project-chip/zap.git
rm -r repo
mv zap repo

此时我们回到主目录下,再次执行命令:

cd ../..
./scripts/tools/zap/generate.py examples/placeholder/linux/apps/app1/config.zap -t examples/placeholder/templates/templates.json -o zzz_generated/placeholder/app1/zap-generated

但是不出意外又发生了新的错误:

root@kurisaw-virtual-machine:/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip# ./scripts/tools/zap/generate.py examples/placeholder/linux/apps/app1/config.zap -t examples/placeholder/templates/templates.json -o zzz_generated/placeholder/app1/zap-generated
Searching for zcl file from /home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/linux/apps/app1/config.zap
internal/modules/cjs/loader.js:818
  throw err;
  ^

Error: Cannot find module 'cross-spawn'
Require stack:
- /home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/third_party/zap/repo/src-script/script-util.js
- /home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/third_party/zap/repo/src-script/zap-generate.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/third_party/zap/repo/src-script/script-util.js:17:19)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/third_party/zap/repo/src-script/script-util.js',
    '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/third_party/zap/repo/src-script/zap-generate.js'
  ]
}
Traceback (most recent call last):
  File "/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/./scripts/tools/zap/generate.py", line 230, in <module>
    main()
  File "/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/./scripts/tools/zap/generate.py", line 218, in main
    runGeneration(zap_file, zcl_file, templates_file, output_dir)
  File "/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/./scripts/tools/zap/generate.py", line 141, in runGeneration
    subprocess.check_call(['node', './src-script/zap-generate.js', '-z',
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['node', './src-script/zap-generate.js', '-z', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/src/app/zap-templates/zcl/zcl.json', '-g', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/templates/templates.json', '-i', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/examples/placeholder/linux/apps/app1/config.zap', '-o', '/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/zzz_generated/placeholder/app1/zap-generated']' returned non-zero exit status 1.