我为 VM 收集铬,TypeError:JSON 对象必须是 str,而不是“字节”

Posted

技术标签:

【中文标题】我为 VM 收集铬,TypeError:JSON 对象必须是 str,而不是“字节”【英文标题】:I collect chromium for VM, TypeError: the JSON object must be str, not 'bytes' 【发布时间】:2021-11-19 01:08:22 【问题描述】:

在这个命令之后:$ autoninja -C out/Default chrome 推断出这个错误,如何解决?请帮帮我

[2549/55054] ACTION //gpu/config:process_json(//build/toolchain/linux:clang_x64)
FAILED: gen/gpu/config/gpu_driver_bug_list_arrays_and_structs_autogen.h gen/gpu/config/gpu_driver_bug_list_autogen.cc gen/gpu/config/gpu_driver_bug_list_autogen.h gen/gpu/config/gpu_driver_bug_list_exceptions_autogen.h gen/gpu/config/software_rendering_list_arrays_and_structs_autogen.h gen/gpu/config/software_rendering_list_autogen.cc gen/gpu/config/software_rendering_list_autogen.h gen/gpu/config/software_rendering_list_exceptions_autogen.h 
python3 ../../gpu/config/process_json.py --output-dir gen/gpu/config --skip-testing-data --os-filter linux
Traceback (most recent call last):
  File "../../gpu/config/process_json.py", line 1061, in <module>
    sys.exit(main(sys.argv[1:]))
  File "../../gpu/config/process_json.py", line 1036, in main
    script_dir, options.output_dir, options.os_filter)
  File "../../gpu/config/process_json.py", line 925, in process_software_rendering_list
    'Software')
  File "../../gpu/config/process_json.py", line 832, in process_json_file
    json_data = json.load(json_file)
  File "/usr/lib/python3.5/json/__init__.py", line 268, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib/python3.5/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'
[2552/55054] CXX obj/skia/skia_core_and_effects/SkReadBuffer.o
ninja: build stopped: subcommand failed.

帮帮我

【问题讨论】:

我在构建标签 94.0.4606.61 时遇到了完全相同的问题。你找到解决办法了吗? 【参考方案1】:

深挖问题后,发现问题出在Python版本。我使用的是 3.5.2,这是 Ubuntu 16.04 LTS 的最新版本。但这不足以构建最新版本的 Chromium,因为它似乎至少需要 3.7 或更高版本(此评论不是基于任何官方文档,这只是我的猜测。)

首先使用python3 --version 检查您的python3 版本。如果是这种情况,请升级您的 Linux 发行版并运行 build/install-build-deps.sh

或者,仅使用以下命令更新 python3:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9
sudo ln -sf /usr/bin/python3.9 /usr/bin/python3

【讨论】:

以上是关于我为 VM 收集铬,TypeError:JSON 对象必须是 str,而不是“字节”的主要内容,如果未能解决你的问题,请参考以下文章

TypeError: _vm.removeProductFromCart 不是 vue/vuex 中的函数

如何摆脱 v-on 处理程序中的错误:“TypeError:_vm.myFcn 不是函数”?

Vue TypeError _vm不是函数

未绑定断点 - VS Code |铬 |角

报错VM1548 WAService.js:2 TypeError: Cannot read property ‘commit‘ of undefined

iOS 上的 JavaScriptCore:VM 垃圾收集器不会自动清空