系统更新(Arch Linux)后,再找不到一些软件包(megaparsack)。我用raco pkg install megaparsack
安装了它,但在安装过程中得到了这条消息:
raco setup: docs failure: query-exec: unable to open the database file
error code: 14
SQL: "ATTACH $1 AS other"
database: #<path:/home/ploppz/.racket/6.12/doc/docindex.sqlite>
mode: 'read-only
file permissions: (write read)
为什么呢?我应该使用sudo吗? 尽管失败了,使用megaparsack的代码现在运行良好。
答案 0 :(得分:2)
此问题是由于系统范围文档目录中缺少docindex.sqlite
而引起的。您可以通过(require setup/dirs) (find-user-doc-dir)
检查该目录。在Archlinux上,这是/usr/share/doc/racket/
。如果丢失,则可能需要安装另一个软件包。 编辑:Archlinux在7.1-1
中进行了修复-请参见this Archlinux错误报告。
没有上述文件,raco pkg install <pkgname>
将无法最终确定文档安装到您的用户范围,但是否则这些软件包应该可以使用。
我以略有不同的方式遇到了这个问题-在Gentoo上/usr/share/doc
默认是压缩的,并且dev-scheme/racket
软件包是用docindex.sqlite.bz2
安装的,而代码仍在寻找原始的路径(而sqlite3可能无法读取bzip2文件)。 编辑:我已经在官方搬运工具中修复了此问题。