كيف يمكنني إعداد Aquamacs لتطوير Clojure؟
سؤال
لقد حاولت الترحيل إلى 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:
- تثبيت clojure
- تثبيت Aquamacs 2.4 من هنا "http://aquamacs.org/"
- قم بتثبيت حزمة Slime Aquamacs من هنا "http://aquamacs.org/download.shtml"
هذه لن يعمل لذا...
- احصل على أحدث إصدار من Slime من هنا
- قم بفك ملف 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 للبدء.