首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Win10: ASDF无法加载系统(ASDF_OUTPUT_TRANSLATION错误)

Win10: ASDF无法加载系统(ASDF_OUTPUT_TRANSLATION错误)
EN

Stack Overflow用户
提问于 2017-06-24 22:33:56
回答 1查看 748关注 0票数 1

更新2

我认为@faré是对的,这是一个输出翻译问题。

因此,我声明了环境变量ASDF_OUTPUT_TRANSLATIONS并将其设置为E:/。现在,(asdf:require-system "my-system")产生了一个不同的错误:Uneven number of components in source to destination mapping: "E:/",它导致了this这样的主题。

不幸的是,他的解决方案对我无效。因此,我尝试了另一个答案,并将ASDF_OUTPUT_TRANSLATIONS设置为(:output-translations (t "E:/"))。现在我又犯了一个错误:

代码语言:javascript
复制
Invalid source registry (:OUTPUT-TRANSLATIONS (T "E:/")).
One and only one of
    :INHERIT-CONFIGURATION or
    :IGNORE-INHERITED-CONFIGURATION
is required.
(will be skipped)

原始投寄

我有一个简单的系统定义,但无法让ASDF加载它。

(升级到1.3.18 AMD64,sbcl 2.19,Windows 10)

到目前为止我尝试过的

遵循ASDF手册:"4.1配置ASDF以查找您的系统“

上面写着:

对于Windows用户,从ASDF3.1.5开始,从%LOCALAPPDATA%开始,它通常是~/AppData/Local/ (但您可以在CMD.EXE终端echo %LOCALAPPDATA%中确定),并在下面创建一个子路径配置/公共-lisp/source-Regiy.conf.d/

我就是这么做的:

  1. 回波%LOCALAPPDATA%,其计算值为C:\Users\my-username\AppData\Local
  2. 在下面我创建了子文件夹config\common\source-Regiy.conf.d\(总计:C:\Users\my-username\AppData\Local\config\common-lisp\source-registry.conf.d\ )

该手册继续说:

这里创建一个具有您选择的任意名称的文件,但是使用conf类型,例如50-luser-lisp.conf;在这个文件中,添加下面一行,告诉.asd递归扫描/home/luser/lisp/ for .asd文件下的所有子目录:(:tree "/home/luser/lisp/"),这就足够了。您可以在任何需要安装源代码的地方替换/home/luser/lisp/。

source-registry.conf.d文件夹中,我创建了文件my.conf,并将其放入(:tree "C:/Users/my-username/my-systems/")。此文件夹包含一个my-system.asd.

奇怪的是:

如果我现在在REPL中键入(asdf:require-system "my-system"),就会得到以下错误:

无法创建目录C:\Users\my-username\AppData\Local\common-lisp\sbcl-1.3.12-win-x86\C\Users\my-username\my-systems\C:\

所以问题不在于ASDF找不到文件,而是(不管是什么原因)它试图创建一个非常奇怪的子文件夹层次结构,这最终失败了,因为它试图创建文件夹C:,但是它不允许包含冒号的文件夹名。

另一种方法:(push path asdf:*central-registry*)

如果我试着

代码语言:javascript
复制
> (push #P"C:/Users/my-username/my-systems/" asdf:*central-registry*)
(#P"C:/Users/my-username/my-systems/"
 #P"C:/Users/my-username/AppData/Roaming/quicklisp/quicklisp/")

> (asdf:require-system "my-system")

我得到了完全相同的错误。

该怎么办呢。

更新

由于ASDF试图创建奇怪路径的本质,我想也许我可以通过指定一个相对路径而不是一个绝对路径来绕过这个问题。所以我试着

(:tree "\\Users\\my-username\\my-systems")

在我的文件里。还是同样的错误。

EN

回答 1

Stack Overflow用户

发布于 2017-06-27 00:11:50

啊哈。看上去像是输出翻译问题。

我现在没有Windows机器,但我上次尝试的时候,这一切都是正常的。

你能为现在设置一些特别的输出翻译吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44741544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档