问题标签 [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.
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
并加载它们来创建项目。请注意,我无法加载使用quickproject
under创建的项目CCL
。但是,当我重新启动 slime/emacs 时,我无法加载以前在SBCL
.
--- 中场休息......重新启动粘液 ---
所以我不知道是什么可能导致问题或如何解决它,但似乎创建/加载项目在 Clozure CL 下永远无法工作,并且只能在 SBCL 的当前会话中工作。
--- 编辑 #3 ---
看来我对 SBCL 的看法是错误的。似乎当我跑步时
C:\Users\ig88t\AppData\Roaming\quicklisp\local-projects
它在而不是在 中创建一个文件夹C:\Users\ig88t\quicklisp\local-projects
。如前所述,它可以加载在当前会话中创建的项目,但无法在新会话中找到它们。
common-lisp - Common Lisp 和 ASDF 系统测试
我想知道如何使用 ASDF 运行测试。假设我们有以下系统定义。我将运行什么命令来运行测试?
我试过运行类似的东西(asdf:compile-system cl-mongo)
,(asdf:load-system cl-mongo)
但如何测试并不明显。如果有帮助,代码来自此存储库。
我是否也应该以某种方式编译和加载测试系统?
根据要求,我包括了我在运行时收到的错误(asdf: compile-system 'cl-mongo-test)
common-lisp - ASDF 不加载常见的 Lisp 文件
我目前正在 Common Lisp 中构建一个项目,并且正在使用 ASDF。但是,我遇到了一些困难。也就是说,当我运行时asdf:compile-system
,它似乎可以编译。然后我就可以asdf:load-system
成功了。但是,位于某些文件中的某些函数仍未定义。为了让他们知道,我必须手动导航到该文件并编译它。
这是系统的声明。有人可以告诉我我做错了什么吗?
特别是,我对文件有问题,routes/activities
可能route-processors
.
common-lisp - 为什么 ql:quickload 会忽略错误,但 asdf:load-system 不会?
我发现有时ql:quickload
只是默默地跳过严重的错误,例如:
(我忘了在包中导入一个宏。这个宏应该把代码转换成有用的东西)。
但是当我使用 加载这个库时asdf:load-system
,会弹出一个错误并且可以进行调试。
你如何忍受这种行为?
common-lisp - 如何找到所有可用的系统?
我用一些很好的函数来研究 Common Lisp 项目:
如何列出所有系统都知道asdf
,quicklisp
或sbcl
?我试图从文档中挖掘它,但还没有找到它。
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”
common-lisp - 让 asdf 加载目录中的所有文件
有没有办法让 asdf 加载目录中的所有文件 (*.lisp) 而无需在我的 .asd 文件中全部命名它们?在目录或文件名规范中使用通配符不起作用。有人可以帮忙吗?
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 构建/安装教程,这确实看起来很复杂。
common-lisp - 如何组织 Common Lisp 源代码,以便在库之间正确解析符号?
假设我们有以下先决条件:
加载 project1 并检查 lib1 包,您会注意到那里有 symbol1 和 symbol2。
影响:
- 不同的依赖会污染其他依赖的包
- 更糟糕的是 - 一个依赖项可以重新定义另一个依赖项的符号定义并破坏系统。
我可能可以通过采用类似于 Java 中使用的包命名约定(具有长分隔名称)来解决我当前的问题。然而,这似乎是一个应该作为一个社区来解决的问题。我们需要一个适用于所有 CL 库的通用解决方案。那会是什么?
common-lisp - 在 ASDF 的测试操作调用中重新编译组件
我试图找到一种方法来每次调用(asdf:test-system:my-system)时总是重新编译组件(test-1,test-2,test-3,test-4),但我没有知道该怎么做。
显示我想去的地方的假想函数: