如何将quicklisp配置为脱机使用?

如何将quicklisp配置为脱机使用?,lisp,common-lisp,quicklisp,Lisp,Common Lisp,Quicklisp,我要去一个没有互联网接入的偏远地方进行一次长途旅行,我想完成一些lisp编程。我认为这样做可能是明智的 下载整个quicklisp归档文件,包括其所有依赖项 将quicklisp自身配置为从本地副本加载quickload包 因为对我来说,当我身处荒野,无法通过任何方式连接到互联网时,拥有而不需要比需要而不拥有更好 如果您能给我一些建议,告诉我如何做这两件事,或者在哪里找到可以指导我如何做这两件事的文档,我将不胜感激 我的硬盘上有足够的空间存放整个东西的许多副本(磁盘空间稀缺的时代早已过去) 可能

我要去一个没有互联网接入的偏远地方进行一次长途旅行,我想完成一些lisp编程。我认为这样做可能是明智的

  • 下载整个quicklisp归档文件,包括其所有依赖项
  • 将quicklisp自身配置为从本地副本加载
    quickload
  • 因为对我来说,当我身处荒野,无法通过任何方式连接到互联网时,拥有而不需要比需要而不拥有更好

    如果您能给我一些建议,告诉我如何做这两件事,或者在哪里找到可以指导我如何做这两件事的文档,我将不胜感激


    我的硬盘上有足够的空间存放整个东西的许多副本(磁盘空间稀缺的时代早已过去)

    可能通过加载所有可用的软件包:

    (mapc (lambda (system) 
            (let ((name (slot-value system 'QL-DIST:NAME)))
              (ql:quickload name))) 
          (ql:system-list))
    
    1]> (ql:quickload "1am")
    To load "1am":
      Load 1 ASDF system:
        1am
    ; Loading "1am"
    
    没有网络,所有这些软件包都可用:

    (mapc (lambda (system) 
            (let ((name (slot-value system 'QL-DIST:NAME)))
              (ql:quickload name))) 
          (ql:system-list))
    
    1]> (ql:quickload "1am")
    To load "1am":
      Load 1 ASDF system:
        1am
    ; Loading "1am"
    
    以下是我使用的:

    (in-package :ql-dist-user)
    (map nil 'ensure-installed (provided-releases (dist "quicklisp")))
    

    我可能会在将来的某个时候为此添加一个快捷方式。这是一件很常见的事情。

    这不是一个很好的选择,因为不是所有的项目都可以一次加载。但它给了我足够的线索来制定正确的解决方案。