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

AWS CDK项目执行cdk synth时出现JSON解码错误求助

环境版本信息
D:\AWS_PYTHON_CDK>npm --version
10.5.2

D:\AWS_PYTHON_CDK>node --version
v20.12.2

D:\AWS_PYTHON_CDK>python --version
Python 3.12.3

D:\AWS_PYTHON_CDK>aws --version
aws-cli/2.15.40 Python/3.11.8 Windows/10 exe/AMD64 prompt/off

D:\AWS_PYTHON_CDK>cdk --version
2.138.0 (build 6b41c8b)
项目依赖(requirements.txt)
aws-cdk-lib==2.138.0
constructs>=10.0.0,<11.0.0
执行cdk synth时的报错堆栈
D:\AWS_PYTHON_CDK>cdk synth
Traceback (most recent call last):
  File "D:\AWS_PYTHON_CDK\app.py", line 4, in <module>
    import aws_cdk as cdk
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\aws_cdk\__init__.py", line 1511, in <module>
    from ._jsii import *
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\aws_cdk\_jsii\__init__.py", line 21, in <module>
    __jsii_assembly__ = jsii.JSIIAssembly.load(
                        ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\jsii\_runtime.py", line 55, in load
    _kernel.load(assembly.name, assembly.version, os.fspath(assembly_path))
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\jsii\_kernel\__init__.py", line 299, in load
    self.provider.load(LoadRequest(name=name, version=version, tarball=tarball))
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\jsii\_kernel\providers\process.py", line 354, in load
    return self._process.send(request, LoadResponse)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\jsii\_kernel\providers\process.py", line 332, in send
    self._next_message(), _ProcessResponse
    ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\jsii\_kernel\providers\process.py", line 251, in _next_message
    return json.loads(self._process.stdout.readline(), object_hook=ohook)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\json\__init__.py", line 359, in loads
    return cls(**kw).decode(s)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Exception ignored in atexit callback: <bound method _NodeProcess.stop of <jsii._kernel.providers.process._NodeProcess object at 0x000002830E43D880>>
Traceback (most recent call last):
  File "C:\Users\abc\AppData\Local\Programs\Python\Python312\Lib\site-packages\jsii\_kernel\providers\process.py", line 295, in stop
    self._process.stdin.close()
OSError: [Errno 22] Invalid argument
解决步骤
  • 调整Python版本:AWS CDK v2.138.0对Python 3.12的支持存在兼容性问题,建议降级到Python 3.11.x版本(与AWS CLI使用的Python版本一致更稳妥)。
  • 重装依赖:先卸载现有相关包,再重新安装指定版本
    pip uninstall -y aws-cdk-lib constructs jsii
    pip install -r requirements.txt
    
  • 验证Node.js版本:若问题仍存在,可尝试降级到Node.js 18.x LTS版本,规避版本兼容风险。
  • 清理CDK缓存:执行cdk clean后重新运行cdk synth。
  • 检查路径与权限:确保项目目录无中文/特殊字符,当前用户对项目目录、Python安装目录有读写权限。

内容的提问来源于stack exchange,提问作者Ramesh Chander

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 02:45:27