搜索有关在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-version
是GNU 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/