搜索有关在emacs上使用sql的信息时,至少会有三个主要概述(由于我的信誉不佳,我无法“负担得起”在这里链接到它们)。

在使用mysql服务器时,我没有发现需要设置变量sql-mysql-program的任何内容。但是,如果不遵循this SO question的建议将我设置为以下变量,就无法使M-x sql-mysql工作:

(setq sql-mysql-program "/path/to/your/mysql")

实际上,我看到的唯一强调此变量的教程/文档都在上面的SO问题以及另一个关于“ emacs-how-to-use-ssh-tunnel-to-connect-to-remote-mysql”的SO问题中(由于信誉不足,我也无法链接到该页面。)

How to work with emacs and mysql中似乎建议了另一种解决方案,它建议更改emacs exec-path的值。

问题是,这些选项中的哪一个是更可取的,还是仅仅是口味问题?

上面链接的sql / emacs概述都没有提到需要使emacs识别二进制文件这一事实的意义是什么?我的emacs出问题了吗?

我花了很长时间梳理sql.el源代码,以试图了解正在发生的事情,但确实看到了(defcustom sql-mysql-program "mysql"…),但至少在我看来,这似乎并没有解决问题(也许是因为我正在启动emacs使用-q选项?)。

PS。如果很重要,我的M-x emacs-versionGNU Emacs 24.5.1 (x86_64-apple-darwin12.5.0, NS apple-appkit-1187.40) of 2015-05-01,我在较旧的Mac(10.8.5)上运行

最佳答案

注意,这可以概括为以下问题:


  如果Emacs找不到可执行文件,该怎么办?


这是exec-path列表起作用的地方。

如C-hig (emacs) Shell RET中所述,exec-path列表是在启动Emacs时从环境变量PATH初始化的(另请参见(emacs) General Variables),因此有多种方法可以使用您使用的值填充该列表需要。

使用sql-mysql-program的绝对路径也是可以的,但可能不太方便。完全取决于您。

关于mysql - 在emacs中设置`sql-mysql-program`,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32301342/

10-16 16:13