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

Windows下用Ceedling创建模块/项目遇Psych别名解析错误求助

解决Ceedling创建项目/模块时的Psych别名解析错误及正确操作步骤

错误原因

这个报错是因为Ruby内置的YAML解析库Psych默认关闭了别名解析功能,但Ceedling的配置模板里用到了YAML别名语法,导致解析失败。

修复方案

临时修复(单次命令生效)

在执行Ceedling命令前,先设置环境变量强制Psych启用别名解析:

  • 创建新项目:
    set RUBY_YAML_LOADER=psych && ceedling new my_new_project
    
  • 创建模块(进入已有项目目录后执行):
    set RUBY_YAML_LOADER=psych && ceedling module:create[my_new_module]
    

永久修复(全局生效)

找到Ceedling安装目录下的lib/ceedling/configurator.rb文件,找到调用Psych.safe_load或Psych.load的代码段,添加aliases: true参数:
比如原代码是:

config = Psych.safe_load(File.read(config_file))

修改为:

config = Psych.safe_load(File.read(config_file), aliases: true)

如果是Psych.load,同样改成:

config = Psych.load(File.read(config_file), aliases: true)

保存文件后,后续所有Ceedling命令都不会再触发这个错误。

正确创建流程

新建Ceedling项目

  1. 先确认已通过RubyGems安装Ceedling:gem install ceedling
  2. 打开CMD/PowerShell,切换到目标父目录
  3. 执行修复后的创建命令,比如:
    set RUBY_YAML_LOADER=psych && ceedling new my_project
    
  4. 命令执行完成后,my_project文件夹会自动生成,包含默认的项目结构和配置。

在现有项目中创建模块

  1. 进入项目根目录
  2. 执行模块创建命令:
    set RUBY_YAML_LOADER=psych && ceedling module:create[user_module]
    
  3. 完成后,src和test目录下会自动生成对应模块的源文件和测试文件模板。

内容的提问来源于stack exchange,提问作者Raghuvarma Vanapala

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 23:32:02