问题标签 [asdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
949 浏览

windows - 在 Windows 10 上安装 quicklisp 时,我应该把 ~/.config/common-lisp/source-registry.conf.d/projects.conf 放在哪里让 ASDF 找到?

我试图让 Common Lisp 在我的 Windows 10 机器上运行,但在ASDF/(ql:quickload "...")加载项目时遇到了问题。我使用以下命令生成了给定的项目(在创建C:\Users\ig88t\src\lisp文件夹之后):

(ql:快速加载“快速项目”)

(quickproject:make-project "~/src/lisp/swatchblade/" :depends-on '(vecto hunchentoot))

哪个正确生成项目,我可以在~/src/lisp/swatchblade.

但我无法通过加载它

(ql:快速加载“swatchblade”)

我收到一条错误消息,而不是加载

未找到系统“swatchblade”[QUICKLISP-CLIENT:SYSTEM-NOT-FOUND 类型的条件]

我要阅读两本手册,一本是Xach 编写的,另一本是为 Windows 量身定制的。Xach 推荐~/.config/common-lisp/source-registry.conf.d/projects.conf,而第二个推荐~/.config/common-lisp/source-registry.conf.d/asdf.conf. 我目前正在使用 Xach 编写的版本,因为它在 Linux 上对我有用。

按照ASDF的手册,这似乎~/AppData/Local/是我应该存储的地方.config/common-lisp/source-registry.conf.d/projects.conf。我曾尝试将其存储在~/AppData/Local/config/...~/AppData/Local/.config/...无济于事。我注意到 Clozure CL 在 中安装了一些 quicklisp 数据~/AppData/Local/common-lisp,所以我尝试将source-registry.conf.d文件夹也放在那里,~/AppData/Local/common-lisp/source-registry.conf.d/projects.conf但它没有用。

我尝试了很多不同的变体,将文件夹放置在不同的位置,但我还没有找到合适的变体。我非常感谢在 Windows 上使用 Common Lisp 和 Quicklisp 的任何人提供的任何帮助/建议。

我正在使用 Clozure CL、1.11.5 和 ASDF 版本 3.1.5 附带的 wx86cl64 二进制文件,以防万一。

- - 编辑 - -

在与 Xach 讨论过这个问题后,我尝试了:

(quickproject:make-project "~/quicklisp/local-projects/swatch" :depends-on '(vecto hunchentoot))

然后跑:

(ql:注册本地项目)

但在运行时:

(ql:快速加载“样本”)

它再次失败了:

未找到系统“样本”[QUICKLISP-CLIENT:SYSTEM-NOT-FOUND 类型的条件]

他说这可能与quickproject的这个PR有关。

--- 编辑 #2 ---

我最近尝试使用 SBCL,一切似乎都在工作。我可以使用quickproject并加载它们来创建项目。请注意,我无法加载使用quickprojectunder创建的项目CCL。但是,当我重新启动 slime/emacs 时,我无法加载以前在SBCL.

--- 中场休息......重新启动粘液 ---

所以我不知道是什么可能导致问题或如何解决它,但似乎创建/加载项目在 Clozure CL 下永远无法工作,并且只能在 SBCL 的当前会话中工作。

--- 编辑 #3 ---

看来我对 SBCL 的看法是错误的。似乎当我跑步时

C:\Users\ig88t\AppData\Roaming\quicklisp\local-projects它在而不是在 中创建一个文件夹C:\Users\ig88t\quicklisp\local-projects。如前所述,它可以加载在当前会话中创建的项目,但无法在新会话中找到它们。

0 投票
2 回答
1038 浏览

common-lisp - Common Lisp 和 ASDF 系统测试

我想知道如何使用 ASDF 运行测试。假设我们有以下系统定义。我将运行什么命令来运行测试?

我试过运行类似的东西(asdf:compile-system cl-mongo)(asdf:load-system cl-mongo)但如何测试并不明显。如果有帮助,代码来自存储库。

我是否也应该以某种方式编译和加载测试系统?

根据要求,我包括了我在运行时收到的错误(asdf: compile-system 'cl-mongo-test)

0 投票
1 回答
283 浏览

common-lisp - ASDF 不加载常见的 Lisp 文件

我目前正在 Common Lisp 中构建一个项目,并且正在使用 ASDF。但是,我遇到了一些困难。也就是说,当我运行时asdf:compile-system,它似乎可以编译。然后我就可以asdf:load-system成功了。但是,位于某些文件中的某些函数仍未定义。为了让他们知道,我必须手动导航到该文件并编译它。

这是系统的声明。有人可以告诉我我做错了什么吗?

特别是,我对文件有问题,routes/activities可能route-processors.

0 投票
1 回答
229 浏览

common-lisp - 为什么 ql:quickload 会忽略错误,但 asdf:load-system 不会?

我发现有时ql:quickload只是默默地跳过严重的错误,例如:

(我忘了在包中导入一个宏。这个宏应该把代码转换成有用的东西)。

但是当我使用 加载这个库时asdf:load-system,会弹出一个错误并且可以进行调试。

你如何忍受这种行为?

0 投票
2 回答
194 浏览

common-lisp - 如何找到所有可用的系统?

我用一些很好的函数来研究 Common Lisp 项目:

如何列出所有系统都知道asdfquicklispsbcl?我试图从文档中挖掘它,但还没有找到它。

0 投票
1 回答
70 浏览

common-lisp - ASDF 在太多目录中搜索库

当我的应用程序尝试使用 连接到 sqlite DB 时mito:connect-toplevel,它需要很长时间,实际上,ASDF 正在递归扫描目录并扫描几个node_modules

但这只会发生在可执行文件上,而不是 Slime 上

这可能是我的环境的错,但我的 .sbclrc 中没有任何花哨的东西(不再)。

问题是,我已经观察到了这种行为asdf:system-relative-pathname,我在另一个应用程序中避免了这种行为,但现在这种情况发生在第三方库中。

我的models.connect:

然后我构建一个可执行文件,我从目录中的命令行运行它~/projects/bookshops(不是~/bacasable我们在下面看到的)并在它忙碌时将其杀死:

在我的环境中可能导致这种情况的原因是什么?

这是正常的 ASDF 这样做吗,为什么只使用可执行文件?

自卫队“3.3.1.2”

0 投票
3 回答
278 浏览

common-lisp - 让 asdf 加载目录中的所有文件

有没有办法让 asdf 加载目录中的所有文件 (*.lisp) 而无需在我的 .asd 文件中全部命名它们?在目录或文件名规范中使用通配符不起作用。有人可以帮忙吗?

0 投票
0 回答
219 浏览

lisp - 如何将 ASDF 升级到版本 3

我需要版本 3 ASDF。我在 GNU CLISP 2.49、Emacs 23.5.1、Ubuntu 16.04、SBCL 1.3.1 Debian 上。

当前的问题是

我的问题是;如果我要卸载、清除然后重新安装 Clisp 和 Emacs,这是否会为我提供版本 3 ASDF?

我通过复制一个新的 asdf.lisp 并在 ~/.clisprc.lisp 中引用它来到这里

也许删除对这个复制的 asdf.lisp 的引用会让我回到 ASDF 的第 2 版。

回复:这个从 ASDF Git 拉取的早期 Stack Overflow 回复是指ASDF 构建/安装教程,这确实看起来很复杂。

0 投票
0 回答
94 浏览

common-lisp - 如何组织 Common Lisp 源代码,以便在库之间正确解析符号?

假设我们有以下先决条件:

加载 project1 并检查 lib1 包,您会注意到那里有 symbol1 和 symbol2

影响:

  • 不同的依赖会污染其他依赖的包
  • 更糟糕的是 - 一个依赖项可以重新定义另一个依赖项的符号定义并破坏系统。

我可能可以通过采用类似于 Java 中使用的包命名约定(具有长分隔名称)来解决我当前的问题。然而,这似乎是一个应该作为一个社区来解决的问题。我们需要一个适用于所有 CL 库的通用解决方案。那会是什么?

0 投票
1 回答
146 浏览

common-lisp - 在 ASDF 的测试操作调用中重新编译组件

我试图找到一种方法来每次调用(asdf:test-system:my-system)时总是重新编译组件(test-1,test-2,test-3,test-4),但我没有知道该怎么做。

显示我想去的地方的假想函数: