2013-08-13 21 views
6

Tôi đã tạo một dự án mới với lein. Tôi mở core.clj trong các emacs. Tôi đảm bảo chạy M-x clojure-modeM-x nrepl-enable-on-existing-clojure-buffers.Emacs, Clojure, lein và nrepl: * nrepl * buffer hiển thị trống

Sau đó, tôi chạy M-x nrepl-jack-in và trong mini-đệm tôi nhận được

Bắt đầu từ máy chủ nREPL ...

theo sau là một thông điệp như:

kết nối. Bạn sẽ không hài lòng nếu bạn tối ưu hóa mọi thứ. -Donald Knuth

tôi thấy rằng tên đệm là *nrepl*, nhưng bộ đệm không chứa một Clojure repl và thay vào đó là hoàn toàn trống.

Nếu tôi gõ bất cứ điều gì (có nghĩa là bất cứ điều gì ở tất cả,) tôi nhận được:

kiểu lập luận sai: số nguyên-hoặc-marker-p, nil

Nếu tôi chuyển về core.clj của tôi đệm, và nhấn C-c C-l, tôi nhận được tên không gian tên của hàm cuối cùng trong bộ đệm của tôi trong minibuffer như là kết quả. Và nếu tôi đặt con trỏ của tôi vào cuối định nghĩa hàm và nhấn C-x C-e, tôi nhận được:

CompilerException java.lang.RuntimeException: Không thể giải quyết biểu tượng: x trong bối cảnh này, biên soạn: (NO_SOURCE_PATH: 1 : 1)

Tôi đã thử tạo thư mục lein mới không phụ thuộc bằng cách sử dụng lein new project-name và thử các bước tương tự như trên và có cùng kết quả.

Tôi có thể kiểm tra và/hoặc những gì tôi đang làm sai?

EDIT: Thông tin bổ sung

Khi tôi gõ một cái gì đó vào *nrepl* đệm rỗng và cố gắng nhấn C-x C-e trên những gì tôi đánh máy, trong bộ đệm nhỏ Tôi nhận được thông báo:

Không Lisp subprocess; thấy biến 'kém-lisp-đệm'

Ngoài ra, tôi đang chạy:

GNU Emacs 24.3.1

Leiningen 2.1.2 trên Java 1.6.0_27 OpenJDK 64-Bit Server VM

+0

phiên bản emac nào? Để loại trừ bất kỳ tai ương môi trường nào tôi khuyên bạn nên bắt đầu với gói bộ khởi động emacs và Emacs 24. – leonardoborges

+0

GNU Emacs 24.3.1 – dg123

+0

Cố gắng khởi động máy chủ repl trong một vỏ bên ngoài, kết nối với chỉ nrepl. Ngoài ra, tắt nhiều chế độ phụ (tự động hoàn tất, v.v.) càng tốt và tạm thời đổi tên leiningen profiles.clj trong ~/.lein /. Nếu điều đó cung cấp cho bạn một REPL hoạt động, các tính năng cho phép từng bước. –

Trả lời

3

Tôi vừa khắc phục sự cố chính xác này trên thiết lập của riêng mình. Di chuyển tệp .emacs.d của bạn đến một vị trí sao lưu và tạo bản sao lưu các tệp .emac của bạn. Tạo mới.Emacs với chỉ những dòng sau:

(require 'package) 

(add-to-list 'package-archives 
    '("marmalade" . 
     "http://marmalade-repo.org/packages/")) 

(package-initialize) 

(require 'clojure-mode) 

(require 'nrepl) 

Khi bạn cài đặt nrepl và clojure-mode qua chạy M-x package-list-packages và cài đặt các mục tương ứng của họ, bạn sẽ có thể sử dụng nrepl.

Thêm các .emac tùy chỉnh của bạn vào một đơn vị lôgic tại một thời điểm và bạn sẽ có thể tìm ra nơi xung đột và loại bỏ xung đột đó. Hãy nghi ngờ bất cứ điều gì liên quan đến chất nhờn/swank.

Các vấn đề liên quan