我正在尝试在 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
我已按照课程指南遵循以下设置说明:
配置SBCL:
~/.sbclrc
文件。~/.sbclrc
中现有内容的底部:(ql:quickload :rutils)
(ql:quickload :codegrader)
Emacs 和 SLIME 配置:
emacs
命令启动了 Emacs。Alt
+ x
(或 M-x
),输入 slime
,然后按 Enter。但是,我收到一条消息,指出“不匹配”或“没有此类命令。”问题:
我遇到的问题是SLIME似乎不可用,并且当我调用
M-x slime
时没有找到匹配项。此外,SLIME 无法与我的 Lisp 环境正确交互。没有显示预期的反馈消息和分数,而是没有输出,并且 SLIME 似乎未按预期运行。
不是完整的答案。但要注意,有 slime-docker