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

使用App::Mi6上传模块至Zef时遇"No single root directory found"错误求助

解决App::Mi6上传Zef时的"No single root directory found"错误

错误原因

Fez(Zef生态系统的上传工具)要求模块压缩包必须满足解压后只有一个根目录——所有文件必须放在模块名-版本号的文件夹下,不能直接将文件暴露在压缩包根层级。

解决步骤

1. 检查压缩包结构

先确认生成的tar.gz是否符合要求,执行命令查看结构:

tar -tf Directory-0.0.1.tar.gz

如果输出的文件路径没有统一的Directory-0.0.1/前缀(比如直接显示META6.json、lib/Directory.rakumod),说明打包结构错误。

2. 修复mi6打包配置

  • 检查项目根目录的.gitignore或mi6.toml,确保没有误将项目根文件夹排除在打包范围外。
  • 执行mi6 dist重新生成压缩包,再次用上述命令验证结构是否正确。

3. 手动重新打包(临时方案)

如果自动打包仍有问题,手动构建符合要求的压缩包:

# 创建根目录
mkdir Directory-0.0.1
# 复制必要文件到根目录下
cp -r lib/ META6.json README.md LICENSE Directory-0.0.1/
# 打包
tar -czf Directory-0.0.1.tar.gz Directory-0.0.1/

之后用Fez手动上传:

fez upload Directory-0.0.1.tar.gz

4. 更新App::Mi6

你当前使用的mi6版本可能存在打包bug,更新到最新版本再尝试:

zef update App::Mi6

更新完成后重新执行mi6 release。

5. 验证项目基础结构

确保你的项目遵循标准Raku模块结构:

你的项目目录/
  ├── lib/
  │   └── [你的模块文件].rakumod
  ├── META6.json
  ├── README.md
  └── LICENSE(可选)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 22:45:39