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

GNU/GUIX manifest指定自定义模块找不到但guix build正常问题咨询

问题原因

  1. 包名拼写错误:manifest里写的包名字符串是noguix-hugo,和你自定义模块里定义的包名nonguix-hugo不一致,少了开头的n字符,导致specifications->manifest按字符串搜索时匹配不到对应包。
  2. 路径拼写存在不匹配风险:你注释中标注自定义模块存放在/module/root-1/site-lisp/下,但执行guix package时传入的--load-path参数值是/module/root1/site-lisp,root后少了横杠,如果你的模块实际放在root-1目录下,该路径配置错误会导致Guix无法扫描到模块。
  3. specifications->manifest的搜索限制:该函数是从Guix的全局包注册表中搜索匹配字符串的包,如果你的自定义模块没有显式导出包变量,就算模块路径被正确加载,也可能无法被全局搜索命中。

解决方案

  • 优先修正manifest中的包名拼写错误,将"noguix-hugo"改为和实际包名一致的"nonguix-hugo"。
  • 核对--load-path参数的取值和实际存放模块的路径完全一致,修正/module/root1/site-lisp为/module/root-1/site-lisp(如果你的模块确实存放在root-1目录下)。
  • 建议修改manifest写法,放弃字符串搜索模式,直接导入模块后引用包变量,彻底避免匹配错误,示例写法:
(use-modules (nonguix-hugo)
             (gnu packages golang))

(list nonguix-hugo go)

如果需要保留specifications->manifest写法,请确认自定义模块中已显式导出nonguix-hugo包变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:54:03