报错如下:
(.venv) likewendy@likewendy-PC:~/Desktop/optillm/yolo$ ll-cli install linux.qq.com.linyaps
(480583) ./apps/ll-cli/src/main.cpp:124 failed to create directory: 没有那个文件或目录
已放弃(核心已转储)
修复过程:
- 我搜索了谷歌、deepin中国论坛、github deepin开发人员中心的 issue,没有找到结果。
- 根据论坛上的提醒,ll-cli是玲珑应用的一部分,于是重装这些软件包sudo apt reinstall linglong*,但不起作用。
- 没有在github找到ll-cli的仓库。
- 准备在github deepin开发人员中心的 issue 提交 issue,在提供版本信息时,意外发现ll-cli -h可以得到
……
如果在使用过程中遇到任何问题,
您可以通过此项目向如意玲珑项目团队报告错误:https://github.com/OpenAtom-Linyaps/linyaps/issues
- 在OpenAtom-Linyaps/linyaps/issues搜索,没有符合的内容。
- 给定报错含有文件行号,于是阅读代码。
- 给定行号的报错与仓库代码文件该行的内容不符,原来是master分支的问题,切换为 v1.7.0Tag 继续阅读代码。
- 代码文件为https://github.com/OpenAtom-Linyaps/linyaps/blob/V1.7.0/apps/ll-cli/src/main.cpp。
- 行号为124,该行代码为qCritical() << "failed to create directory:" << ec.message().c_str();
113 void ensureDirectory(const std::filesystem::path &dir)
114 {
115     std::error_code ec;
116     if (!std::filesystem::exists(dir, ec)) {
117         if (ec) {
118             qCritical() << QString{ "get status of" } << dir.c_str()
119                         << "failed:" << ec.message().c_str();
120             std::abort();
121         }
122 
123         if (!std::filesystem::create_directory(dir, ec)) {
124             qCritical() << "failed to create directory:" << ec.message().c_str();
125             QCoreApplication::exit(ec.value());
126             std::abort();
127         }
128     }
129 }
可以看到,如果if (!std::filesystem::create_directory(dir, ec)) {执行失败就会执行第124行。
 也就是说,如果目录创建失败,就会执行错误打印。
 该函数ensureDirectory在539行被调用。
527    auto ret = QMetaObject::invokeMethod(
528      QCoreApplication::instance(),
529      [&argc, &argv, &commandParser, &noDBus, &jsonFlag, &options]() {
530          auto repoRoot = QDir(LINGLONG_ROOT);
531          if (!repoRoot.exists()) {
532              qCritical() << "underlying repository doesn't exist:" << repoRoot.absolutePath();
533              QCoreApplication::exit(-1);
534              return;
535          }
536
537          auto userContainerDir =
538            std::filesystem::path{ "/run/linglong" } / std::to_string(::getuid());
539          ensureDirectory(userContainerDir);
540
541          while (true) {
542              auto lockOwner = lockCheck();
543              if (lockOwner == -1) {
544                  qCritical() << "lock check failed";
545                  QCoreApplication::exit(-1);
546                  return;
547              }
从538行可见,被创建的目录为/run/linglong的子目录。
 也就是说,因为创建/run/linglong的子目录失败而导致报错。
 那么,首先排除权限问题,因为我使用sudo执行也不起作用。
 由代码 "/run/linglong" } / std::to_string(::getuid())可知,它在拼接路径,它在创建子目录,那么,还有一种可能是父级目录并不存在。
- 执行命令创建该目录,并修改所有者为你使用的用户和linglong用户组
sudo mkdir /run/linglong && sudo chown -R likewendy:deepin-linglong /run/linglong
- 问题解决,之前报错的命令可正常执行。
(.venv) likewendy@likewendy-PC:~/Desktop/optillm/yolo$ ll-cli search linux.qq.com.linyaps
id                               name                             version         arch        channel         module      description
linux.qq.com.linyaps             linux.qq.com                     3.2.12.0        x86_64      main            binary      convert from 3.2.12-27254 QQ
linux.qq.com.linyaps             QQ                               3.2.15.30484    x86_64      main            binary      腾讯推出的即时通讯工具。支持在线聊天、点对点断点续传...
linux.qq.com.linyaps             QQ                               3.2.15.30899    x86_64      main            binary      腾讯推出的即时通讯工具。支持在线聊天、点对点断点续传...
linux.qq.com.linyaps             linux.qq.com                     3.2.9.0         x86_64      main            binary      convert from 3.2.9-240617 QQ
后记
修复ll-cli报错的原因是,我需要使用它来解决我的qq无法打开并且从应用商店已安装列表消失的问题。
后来,遇到了linux.qq.com.linyaps无法删除的问题,也就是玲珑的qq而不是deb的qq。
 我通过在/var/lib/linglong/下搜索linux.qq.com.linyaps和qq找到了几个目录,备份后删除了它们。
然后修改了/var/lib/linglong/states.json,删除了有关linux.qq.com.linyaps的元素,解决了这个问题。
玲珑应用经常出问题。
If this helps you, and if you have enough money, can you give me 1$? I am facing a financial crisis.
 If you do this, I will pass on the kindness.
 This is my bank card number:5592921230414708
 Thank you!!
 
                   
                   
                   
                   
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
                     
              
             
                  
 2649
					2649
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
					 
					 
					


 
            