سؤال

لقد حاولت الترحيل إلى emacs عدة مرات لتطوير clojure ، في أعقاب مجموعة متنوعة من المدونات ، وشاشة الشاشة والبرامج التعليمية ، ولكن في مكان ما على طول الطريق حدث خطأ دائمًا - keybindings لم تنجح ، الإصدارات غير المتوافقة ، إلخ ، ووجدت نفسي الهروب مرة أخرى إلى vim. لكني أعلم أنني أريد باريت والوحل.

لذا ، سأحاول مرة أخرى ، هذه المرة مدعومة بمجتمع Stack Overflow ™ القوي.

آمل أن تظل الإجابة على هذا السؤال محدثة ، ويمكن أن تكون بمثابة مرجع للمتحولين المبدئيين مثلي.

ما أحب هو:

  • أحدث إصدار مستقر من Clojure
  • Aquamacs (إذا كانت جيدة بما يكفي لـ Rich Hickey ، فهي جيدة بما يكفي بالنسبة لي) ، نسخة حديثة
  • وضع clojure
  • الوحل/سوينك
  • باريت
  • أي شيء آخر لا غنى عنه؟

ستكون الإرشادات خطوة بخطوة لتثبيت ما ورد أعلاه ممتازًا-ويفضل أن يكون ذلك بتنسيق SHELL Script. أرغب أيضًا في بعض التلميحات حول كيفية البدء بأكثر الإجراءات المتعلقة بـ Clojure شيوعًا (بما في ذلك المشاركات الرئيسية) ، بما في ذلك الروابط إلى الوثائق وأوراق الغش.

هل كانت مفيدة؟

المحلول

هذه هي الخطوات التي اتخذتها لإعدادها دون استخدام ELPA. أتمنى أن يساعدك هذا.

احصل على الوحل باستخدام macports

sudo port -v install slime

احصل على باريت

curl -O http://mumble.net/~campbell/emacs/paredit.el

الحصول على clojure و clojure-contrib

  • إما باستخدام macports
sudo port -v install clojure clojure-contrib
  • أو التنزيل مباشرة
curl -O http://build.clojure.org/snapshots/org/clojure/clojure/1.1.0-master-SNAPSHOT/clojure-1.1.0-master-20091202.150145-1.jar
curl -O http://build.clojure.org/snapshots/org/clojure/clojure-contrib/1.1.0-master-SNAPSHOT/clojure-contrib-1.1.0-master-20091212.205045-1.jar

احصل على وضع clojure و swank-clojure (جانب emacs)

git clone http://github.com/technomancy/clojure-mode.git
git clone http://github.com/technomancy/swank-clojure.git

احصل على Swank-Clojure (جانب Clojure)

  • إما تنزيل ملف جرة مسبقة
curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar
  • أو بناء من المصدر (على افتراض أن لين مثبت)
cd path/to/dir/swank-clojure
lein jar

ضع ملفات clojure و clojure-contrib و swank-clojure. jar في ~/.swank-clojure أو ~/.clojure (الأماكن الافتراضية التي يبحث فيها swank-clojure.el عنهم).


أضف إلى ~/.emaCs أو ~/library/تفضيلات/أكواماك emacs/تخصيص. (تغيير المسارات لتتناسب مع الإعدادات الخاصة بك)

(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime/")
(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime/contrib/")
;; Change these paths to match your settings
(add-to-list 'load-path "path/to/dir/clojure-mode/")
(add-to-list 'load-path "path/to/dir/swank-clojure/")
(add-to-list 'load-path "path/to/dir/paredit/")

;; Customize swank-clojure start-up to reflect possible classpath changes
;; M-x ielm `slime-lisp-implementations RET or see `swank-clojure.el' for more info 
(defadvice slime-read-interactive-args (before add-clojure)
(require 'assoc)
(aput 'slime-lisp-implementations 'clojure
(list (swank-clojure-cmd) :init 'swank-clojure-init)))

(require 'slime)
(require 'paredit)
(require 'clojure-mode)
(require 'swank-clojure)

(eval-after-load "slime"
  '(progn
    ;; "Extra" features (contrib)
    (slime-setup 
     '(slime-repl slime-banner slime-highlight-edits slime-fuzzy))
    (setq 
     ;; Use UTF-8 coding
     slime-net-coding-system 'utf-8-unix
     ;; Use fuzzy completion (M-Tab)
     slime-complete-symbol-function 'slime-fuzzy-complete-symbol)
    ;; Use parentheses editting mode paredit
    (defun paredit-mode-enable () (paredit-mode 1))
    (add-hook 'slime-mode-hook 'paredit-mode-enable)
    (add-hook 'slime-repl-mode-hook 'paredit-mode-enable)))

;; By default inputs and results have the same color
;; Customize result color to differentiate them
;; Look for `defface' in `slime-repl.el' if you want to further customize
(custom-set-faces
 '(slime-repl-result-face ((t (:foreground "LightGreen")))))

(eval-after-load "swank-clojure"
  '(progn
    ;; Make REPL more friendly to Clojure (ELPA does not include this?)
    ;; The function is defined in swank-clojure.el but not used?!?
    (add-hook 'slime-repl-mode-hook
      'swank-clojure-slime-repl-modify-syntax t)
    ;; Add classpath for Incanter (just an example)
    ;; The preferred way to set classpath is to use swank-clojure-project
    (add-to-list 'swank-clojure-classpath 
"path/to/incanter/modules/incanter-app/target/*")))

نصائح أخرى

قم بتنزيل وتثبيت Aquamacs.

تنزيل وتثبيت ELPA (http://tromey.com/elpa/install.html)

هل MX حزم الحزمة

حدد الخطوط التي تسمى "Mode-Mode" و "Swank-Clojure" مع "I" ثم اضغط "X".

فعله.

إليك منشور مدونة يذكر Aquamacs: إنشاء Clojure ، Incanter ، Emacs ، Slime ، Swank ، و Paredit

يبدو أن هناك طريقة سهلة إلى حد ما لإعداد Aquamacs 2.4 والوحل لـ Clojure:

  1. تثبيت clojure
  2. تثبيت Aquamacs 2.4 من هنا "http://aquamacs.org/"
  3. قم بتثبيت حزمة Slime Aquamacs من هنا "http://aquamacs.org/download.shtml"

هذه لن يعمل لذا...

  1. احصل على أحدث إصدار من Slime من هنا
  2. قم بفك ملف TAR SLIME ونسخه إلى/Library/Application Support/Aquamacs EMACS/SLIME

يبدو أنه يعمل بشكل جيد بالنسبة لي ...

أعلم أن البروتوكول الاختياري يريد استخدام emacs لـ clojure dev. أنا من محبي emacs بنفسي ، لكنني وجدت استخدام extivjure (http://www.enclojure.org/home) لتكون وسيلة رائعة للبدء بسرعة مع القرصنة clojure.

اليوم سوف أتوجه إلى https://github.com/tehcurtis/aquamacs-emacs-starter-kit/network

هذا لروبي ولن يعمل في البداية ولكن على أي حال. استنساخ git ونسخ الأشياء إلى التفضيلات. إصلاح المكسور عن طريق تحرير ~/library/تفضيلات/أكواماك emacs/والتعليق على كل شيء تقريبًا في أوضاع. EL (لدي فقط (setq-default padent-tabs-mode nil) في الملف)

الجزء الجيد: لقد قمت بتثبيت ماناجير Elpa-Package مع متاعب أقل

الآن: استخدم

M-x package-list-packages

اذهب إلى

clojure-mode   (press I)
slime          (press I)
slime-repl     (press I)

Press X to install

فعله.

التحذير: لن يعمل clojure-jack-in

M-x slime-connect

واضغط على إدخال مرتين و Y للبدء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top