Racket raco:docs失败查询执行:无法打开数据库文件

Racket raco:docs失败查询执行:无法打开数据库文件,racket,upgrade,Racket,Upgrade,系统更新(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/

系统更新(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)
raco安装程序:文档失败:查询执行:无法打开数据库文件
错误代码:14
SQL:“将$1附加为其他”
数据库:#
模式:'只读
文件权限:(写-读)
为什么??我应该用sudo吗?
尽管出现此故障,但使用megaparsack的代码现在运行正常。

此问题是由于系统范围文档目录中缺少
docindex.sqlite
造成的。您可以通过以下方式检查此目录:
(需要设置/dirs)(查找用户文档目录)
。在Archlinux上,这是
/usr/share/doc/racket/
。如果它丢失了,您可能需要安装另一个软件包编辑:Archlinux在中修复了此问题-请参阅Archlinux错误报告。

如果没有上述文件,
raco pkg安装
将无法完成用户范围内的文档安装,但如果没有此文件,这些软件包应该是可用的


我以一种稍微不同的方式遇到了这个问题—在Gentoo上,默认情况下压缩了
/usr/share/doc
,并且
dev scheme/racket
包安装了
docindex.sqlite.bz2
,而代码仍然在寻找原始路径(sqlite3可能无法读取bzip2文件)编辑:我在官方移植中修复了此问题。

这看起来像是数据库的权限错误。你能告诉我们你为这个目录设置的权限吗?您还可以尝试删除和重建数据库。@LeifAndersen
doc/
drwxr-xr-x
doc/docindex.sqlite
-rw-r--r--
。全部由我的用户拥有。如何重建数据库?如果内存可用,您只需删除文件并运行
raco安装程序
。如果您担心,您可以在删除文件之前将其备份到其他地方。@LeifAndersen
raco安装程序
失败:(这是紧接着
raco安装程序:----创建启动器---\n raco安装程序:启动器:/raco
它看起来(快速查看)好像你是以root用户身份安装的,所以你的启动器现在归root用户所有,不能被raco安装程序删除。如果我误读了你的粘贴,我深表歉意。嘿,Winny,你说你在官方的portage中修复了这个问题,但我仍然在最新的开发方案/racket-7.2(以及旧的7.1)中遇到这个错误.Hi@AndrewKravchuk当使用
-doc
USE标志时,会出现
docindex.sqlite
仍被压缩(而不是其预期路径)。解决方法是为
dev scheme/racket
启用
doc
使用标志。无论如何,您可能希望安装本地文档。我建议同时将此报告给gentoo bug追踪器。对于Ubuntu系统,安装
racket doc
包可能会解决此问题。