像这里的一些提问者一样,我是 Lisp 的新手。我正在阅读Practical Common Lisp这本书,但我暂时避开了设置 Web 应用程序的难度,因此我一直在关注本教程以及此处的更新版本。
当我启动服务器时,我的 REPL 死了,然后我无法将任何东西推送到*dispatch-table*
.
所以基本上,我的代码在 REPL 中运行良好,将对象添加到列表中,检索它们等等,然后我使用启动服务器
(setf *web-server* (start (make-instance 'hunchentoot:acceptor :port 8080)))
效果很好,我可以在http://localhost:8080
. 但是,当我访问它时,日志会打印到 REPL,从那时起我就无法实际使用 REPL。因此,例如,在亚当彼得森的帖子之后,我不能
(push (create-prefix-dispatcher "/retro-games.htm" 'retro-games) *dispatch-table*)
因为 REPL 没有响应。我尝试从不同的窗口(即从终端中的 SBCL)启动服务器,但它不知道我所处的上下文 - 它不理解我正在处理的包或我的任何代码。
我正在使用稍微不标准的设置;我在 OSX 上并使用带有 SublimeREPL 和 SBCL 的 Sublime Text 2(因为我真的不喜欢 Emacs 而 ST2 很棒!)。我已经描述了我如何将它们放在一起- 但我真的只是为了以防万一,如果这是我的设置导致问题而不是我缺少的一些基本内容,我会感到惊讶。
无论如何,我知道我可以继续在一个更像生产的环境中设置 hunchentoot,并且已经看到一些详细说明并远程访问 REPL 的帖子,但我希望有一些更简单的东西来解决我的问题我只是错过了。