emacs中的mnesia dir设置用于mnesia群集测试
在一台pc上测试集群mnesia时,我必须为一个“MacLion”用户创建多个erlang节点。 因为它们为同一用户共享相同的emacs中的mnesia dir设置用于mnesia群集测试,emacs,erlang,Emacs,Erlang,在一台pc上测试集群mnesia时,我必须为一个“MacLion”用户创建多个erlang节点。 因为它们为同一用户共享相同的“.erlang”,所以我无法通过“.erlang”文件传递mnesia。 对于emacs erlang shell,我想通过.emacs文件传递mnesia目录配置,因此应该修改distel的相关escript代码 (add-hook 'erlang-mode-hook (lambda () ;; when starting an Erlan
“.erlang”
,所以我无法通过“.erlang”
文件传递mnesia。
对于emacs erlang shell,我想通过.emacs
文件传递mnesia目录配置,因此应该修改distel的相关escript代码
(add-hook 'erlang-mode-hook
(lambda ()
;; when starting an Erlang shell in Emacs, default in the node name
; (setq inferior-erlang-machine-options '("-name" "emacs"))
(setq inferior-erlang-machine-options '("-name" "emacs""-mnesia dir" "/Users/yuchen/Documents/Project/mnesia_db") )
;;added by chenyu 2012/04/08
(set (make-local-variable 'compile-command) (format "make -f %s" (get-closest-pathname)))
;; add Erlang functions to an imenu menu
(imenu-add-to-menubar "imenu")))
在上述代码中,name=emacs
正常,但mnesia dir
无效
(setq-erlang机器选项“(“-name”“emacs”“-mnesia dir”“/Users/yuchen/Documents/Project/mnesia_db”))
节点启动后,我检查了mnesia路径配置
(emacs@yus-iMac.local)12> mnesia:system_info(directory).
"/Users/yuchen/Mnesia.emacs@yus-iMac.local"
它与我的.emacs配置数据不同。我猜您需要将
-mnesia
和dir
放在参数列表中的单独字符串中,并且还需要将目录用双引号括起来,当然您必须在emacs Lisp中转义:
(setq inferior-erlang-machine-options '("-name" "emacs" "-mnesia" "dir" "\"/Users/yuchen/Documents/Project/mnesia_db\"") )
谢谢你的回复。我已经测试过了。但是在测试之后,命令“mnesia:info()”总是在版本“4.6”中显示“=>系统信息”“,debug level=none-Hm,我只是自己测试了它,对我来说,
mnesia:info
显示变量中指定的目录。不确定会有什么不同。。。也许您可以使用C-hv
检查subsier erlang machine options
是否真的设置为您期望的值?嗨,C-h,v显示“其值为(“-name”“emacs”)”。看来这一行的修改还有些小错误。我将进一步测试它。非常感谢你。