Emacs 中的 SLIME 无法与 Docker 容器中的 Lisp 一起使用

问题描述 投票:0回答:1

我正在尝试在 Docker 容器内设置 Lisp 开发环境,但在让 Emacs 中的 SLIME 与我的 Lisp 配置正确配合时遇到问题。以下是我的设置的详细信息:

Dockerfile

# Use a base image with Debian Buster
FROM debian:buster

# Set environment variables
ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm

# Install necessary system dependencies
RUN apt-get update && \
    apt-get install -y \
    emacs-nox \
    sbcl \
    git

# Install SLIME for Emacs and Quicklisp
RUN sbcl --eval '(ql:quickload :quicklisp-slime-helper)' --quit

# Create the directory for local Quicklisp projects
RUN mkdir -p /root/quicklisp/local-projects

# Clone CodeGrader repository and configure SBCL
RUN git clone https://github.com/marcus3santos/codegrader.git /root/quicklisp/local-projects/codegrader && \
    echo '(ql:quickload :rutils)' >> /root/.sbclrc && \
    echo '(ql:quickload :codegrader)' >> /root/.sbclrc

# Configure SLIME for Emacs
RUN echo "(setq inferior-lisp-program \"sbcl\")" >> /root/.emacs && \
    echo "(require 'slime)" >> /root/.emacs && \
    echo "(slime-setup '(slime-repl))" >> /root/.emacs

我已按照课程指南遵循以下设置说明:

  1. 配置SBCL:

    • 使用程序文本编辑器,我打开了位于 Docker 容器内我的主目录中的
      ~/.sbclrc
      文件。
    • 我将以下代码复制粘贴并保存在
      ~/.sbclrc
      中现有内容的底部:
    (ql:quickload :rutils)
    (ql:quickload :codegrader)
    
  2. Emacs 和 SLIME 配置:

    • 我通过在 Docker 容器中运行
      emacs
      命令启动了 Emacs。
    • 要配置 SLIME,我按
      Alt
      +
      x
      (或
      M-x
      ),输入
      slime
      ,然后按 Enter。但是,我收到一条消息,指出“不匹配”或“没有此类命令。”

问题

我遇到的问题是SLIME似乎不可用,并且当我调用

M-x slime
时没有找到匹配项。此外,SLIME 无法与我的 Lisp 环境正确交互。没有显示预期的反馈消息和分数,而是没有输出,并且 SLIME 似乎未按预期运行。


docker emacs containers lisp slime
1个回答
0
投票

不是完整的答案。但要注意,有 slime-docker

https://github.com/cl-docker-images/slime-docker

© www.soinside.com 2019 - 2024. All rights reserved.