运行aur中的`ruyi`包,提示无法找到`fastjsonschema`模块

使用pacman安装ruyi,运行提示ModuleNotFoundError: No module named 'fastjsonschema'

复现步骤:

  1. 安装Ruyi
sudo pacman -S ruyi
  1. 运行ruyi
ruyi
Traceback (most recent call last):
  File "/usr/bin/ruyi", line 8, in <module>
    sys.exit(entrypoint())
             ~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/ruyi/__main__.py", line 94, in entrypoint
    sys.exit(main(gm, gc, sys.argv))
             ~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ruyi/cli/main.py", line 53, in main
    p = RootCommand.build_argparse(gc)
  File "/usr/lib/python3.13/site-packages/ruyi/cli/cmd.py", line 104, in build_argparse
    cls._maybe_build_subcommands(gc, p)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/usr/lib/python3.13/site-packages/ruyi/cli/cmd.py", line 128, in _maybe_build_subcommands
    subcmd_cls._configure_subcommand(gc, sp)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ruyi/cli/cmd.py", line 142, in _configure_subcommand
    cls.configure_args(gc, p)
    ~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/usr/lib/python3.13/site-packages/ruyi/ruyipkg/install_cli.py", line 25, in configure_args
    ).completer = package_completer_builder(gc)
                  ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
  File "/usr/lib/python3.13/site-packages/ruyi/ruyipkg/cli_completion.py", line 13, in package_completer_builder
    from ..ruyipkg.augmented_pkg import (
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        AugmentedPkg,
        ^^^^^^^^^^^^^
    )  # pylint: disable=import-outside-toplevel
    ^
  File "/usr/lib/python3.13/site-packages/ruyi/ruyipkg/augmented_pkg.py", line 10, in <module>
    from .distfile import Distfile
  File "/usr/lib/python3.13/site-packages/ruyi/ruyipkg/distfile.py", line 9, in <module>
    from .repo import MetadataRepo
  File "/usr/lib/python3.13/site-packages/ruyi/ruyipkg/repo.py", line 27, in <module>
    from .entity import EntityStore
  File "/usr/lib/python3.13/site-packages/ruyi/ruyipkg/entity.py", line 3, in <module>
    import fastjsonschema
ModuleNotFoundError: No module named 'fastjsonschema'

解决方法:

  1. 使用pacman手动安装依赖python-fastjsonschema
  2. 或者手动修改PKGBUILD,在depends项中添加python-fastjsonschema并通过pacman -U重新安装。

To Maintiner:

我不太会给AUR提PR,QAQ麻烦维护者在PKGBUILD的depends项添加python-fastjsonschema

diff --git a/.SRCINFO b/.SRCINFO
index b595af1..65cedeb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -22,6 +22,7 @@ pkgbase = ruyi
        depends = python-tomlkit
        depends = python-typing_extensions
        depends = python-yaml
+       depends = python-fastjsonschema
        depends = sh
        optdepends = android-tools: fastboot support
        optdepends = bash: ruyi use bash as default shell
diff --git a/PKGBUILD b/PKGBUILD
index 2a359d8..77674c9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -21,6 +21,7 @@ depends=(
   'python-tomlkit'
   'python-typing_extensions'
   'python-yaml'
+  'python-fastjsonschema'
   'sh'
 )
 makedepends=(
2 个赞

感谢反馈!我传递给RuyiSDK开发者看如何改进。

4 个赞

感谢提醒,我是维护者。现在已经更新到 0.38.1-2 了。

检查是 0.31.0 左右新增了这个依赖。回溯之前的日志,构建工具已经发现 PKGBUILD 未包含该依赖,但是因为构建工具返回值为 0,所以没有邮件提醒。正在看怎么解决这个问题。

4 个赞