我正在尝试将Common Lisp项目从Windows 11移动到Linux Mint。该程序在Windows 11 SBCL下运行正常。但是,在Linux下将该项目加载到SBCL中时出现问题。
运行(asdf:load-system "ww-wouldwork-planner")
会产生错误asdf/find-component:missing-component,component“ww-wouldwork-planner”not found.
我的Linux主目录中的init.lisp文件包含(setq *default-pathname-defaults* #p"/media/dave/DATA/Users Data/Dave/SW Library/AI/Planning/Wouldwork Planner/")
和(push *default-pathname-defaults* asdf:*central-registry*)
。
我尝试了(asdf:initialize-source-registry)
,并验证了asdf:*central-registry*
包含*default-pathname-defaults*
中指定的正确目录(在Windows 11分区上)。
问题是否与从Linux访问Windows 11目录有关?感谢任何帮助诊断错误。
1条答案
按热度按时间nmpmafwu1#
解决此问题的一种方法是首先从Linux导航到Windows 11源代码目录,然后在SBCL中运行
(asdf:load-system "ww-wouldwork-planner")
。然后ASDF可以轻松地在该目录中找到ASD文件。这个问题可能与Windows和Linux组织它们各自的文件系统的不同方式有关。Linux似乎从单个根目录构建整个文件树,而Windows构建一格罗夫树,每个驱动器分区(C:,D:等)一个。Windows驱动器都出现在Linux的/media下,而用户文件在/home下,ASDF显然希望在其中找到项目文件。例如,将项目文件移动到/home目录下允许ASDF找到它们。这主要是我的猜测,所以请随时纠正或更新这些临时评论。