filesystem error: in create_directories: Read-only file system ["//.kuzu"] Abort...

2025年09月05日 12:36 响应: 60.00秒 状态: error

🚨 错误信息

gts10uwifi:/data/local/tmp $ bin/kuzu a.kuzu libc++abi: terminating due to uncaught exception of type std::__ndk1::__fs::filesystem::filesystem_error: filesystem error: in create_directories: Read-only file system ["//.kuzu"] Aborted

🤖 AI解决方案

libc++abi: terminating due to uncaught exception of type std::__ndk1::__fs::filesystem::filesystem_error: filesystem error: in create_directories: Read-only file system ["//.kuzu"]
libc++abi: 由于未捕获的异常类型 std::__ndk1::__fs::filesystem::filesystem_error: 文件系统错误: create_directories 时发生错误: 只读文件系统 ["//.kuzu"] 而终止

原因分析

Kuzu 尝试在 /data/local/tmp/.kuzu 路径下创建目录,但该目录所在的挂载点被设置为只读。

解决方案

  • 修改挂载选项:
  • 如果可能,请在启动设备或挂载文件系统时,将 /data/local/tmp 所在的挂载点设置为可写(例如,使用 mount -o rw,remount /data/local/tmp)。
  • 更改 Kuzu 数据目录:
  • 如果无法修改挂载选项,请将 Kuzu 的数据目录更改为系统允许写入的路径。这通常可以通过 Kuzu 的环境变量或配置参数来实现。例如,设置 KUZU_DATABASE_PATH 环境变量指向一个可写的位置:
        export KUZU_DATABASE_PATH=/path/to/writable/directory
        bin/kuzu a.kuzu
        
    或者,如果 Kuzu 允许在命令行中指定,可以尝试:
        bin/kuzu --data-dir /path/to/writable/directory a.kuzu
        
    (请根据 Kuzu 的具体文档确认命令行参数)

    预防措施

  • 在部署或运行应用程序时,务必确认运行所需目录的挂载权限。

  • 在初始化数据库或创建目录前,先检查目标路径的写权限。