1

如何设置它,以便我可以在 Mac 上使用 Light Table,连接到 Ubuntu 托管的 nREPL,并创建一个新的 program/project.clj?任何人都可以帮助我了解我的方法应该是什么,以及我哪里出错了?

我有一个在 VirtualBox 中的 Ubuntu 服务器,还有 Leiningen、Pedestal 和一个在浏览器中显示的基座“helloworld”示例程序。我只是无法连接到运行 helloworld 程序的同一个 REPL。我没有对服务器端对象的客户端访问或控制。

我想从我的 Mac 主机 LT 进行客户端-服务器 Clojure 开发,创建可以在 REPL 中查看的服务器端程序。

我发现 LT 在这方面并不直观,而且我读过的建议仅表明 LT 将连接到现有项目/REPL。我想从客户端创建新对象

4

1 回答 1

2

假设您主要谈论的是服务器端的事情(对 ClojureScript 还不太了解),下面是您如何设置一个新项目并针对远程 repl 交互地编写代码。

  1. lein new project-name在您的虚拟机中。
  2. 以您想要的方式设置您的 project.clj。您必须包含依赖项!
  3. 在您的 VM 中启动 REPL 并记下端口号
  4. 将您的代码提交到版本控制 (git)。
  5. 签出相同的代码库以在 Mac OSX 中的 LightTable 中进行编辑。
  6. 连接到远程 REPL。
  7. 打开 core.clj 或创建一个新的命名空间文件并开始破解。
  8. 评估您的代码片段或整个文件。

我预见到这有几个潜在的问题。首先,无论何时添加依赖项,您都需要将更改提交到版本控制,同步您的 VM 工作副本,重新启动您的 REPL,并将 LightTable 重新连接到远程 REPL。

其次,随着项目超出几个命名空间,您可能会遇到问题。我相信如果您的命名空间需要项目中的另一个命名空间,远程 REPL 进程将(我认为)尝试将其从本地类路径中加载。如果依赖项不存在或已更改,我认为 LightTable 不够聪明,无法通过网络发送所需的名称空间。尝试一下,让我们知道实际行为是什么。

于 2014-02-27T23:08:49.747 回答