我是Dexador的快乐用户。突然,一个简单的dex:get<url>
给了我一个
quri.parser::parse-scheme-string is undefined
错误。
正在尝试(dex:get url)
:
0: ("undefined function")
1: (quri.parser::parse-uri-string #<unavailable argument> :start #<unavailable argument> :end #<unavailable argument>)
2: (quri.uri:uri "http://1337x.to/sort-search/sintel/seeders/desc/1/" :start 0 :end nil)
3: (dexador.backend.usocket:request #<unavailable argument> #<unavailable &REST argument> :method #<unused argument> :version #<unused argument> :content #<unavailable argument> :headers #<unavailable ar.
这似乎与我的环境有关。我认为它是在我降级QL版本后弹出的(因为Slime错误(。
edit:我曾经在调试器上接受过这个错误,它不再弹出。
奇怪的是:Dexador和Quri最近都没有被修改。它过去很管用。
此外,我在QL的本地dist项目中使用了Dexador和Quri来找到这个函数,它只在Quri中出现过一次。它甚至不是一个定义的函数,那么它怎么可能工作呢?(给定包使用cl、quri.error和quri.util(https://github.com/fukamachi/quri/blob/83f3b8612be826b602f3584acac1b82691a141e6/src/parser.lisp#L96
我删除了在我的项目中找到的fasl文件。
不管怎样,你会如何处理这个问题?
我仍然不想升级Quicklisp,Slime没有发布新版本。
编辑:我升级了QL,然后删除了~/quicklisp/
并重新安装,删除了所有~/.cache/common-lisp
:相同。
谢谢。
SBCL Debian 1.2.4(安装于1.4.13,由于另一个铁的错误无法加载我的项目(。Quicklisp dist"2018-04-30"。
我还在一期杂志上问https://github.com/fukamachi/dexador/issues/61#issuecomment-433672052
宏使用format
来插入新符号,我在.sbclrc.中将*print-case*
设置为:downcase
有一个解决方案:https://github.com/fukamachi/quri/pull/24
删除~/.cache/common-lisp/sbcl-xx/quri/
中缓存的fasl并快速加载quri就足以恢复该函数。