使用GNU make安装Emacs ESS遇错误,请求技术协助
解决GNU Make安装Emacs ESS时的错误问题
看起来你在Windows下用Cygwin搭建ESS的时候踩了两个常见的依赖坑,我来帮你一步步解决:
第一个错误:emacs: not found
这个问题出在编译elisp文件的阶段,本质是你的Cygwin环境里没有安装Emacs,或者Emacs没被加入系统PATH。
解决步骤:
- 打开Cygwin的安装程序(比如
setup-x86_64.exe,根据你的系统位数选择)。 - 在搜索栏输入
emacs,找到emacs-w32(适配Windows的Emacs版本,推荐选这个)或者基础的emacs包,勾选后完成安装。 - 重启Cygwin终端,输入
emacs --version测试,如果能正常输出版本信息,说明Emacs已经可以被调用了。 - 回到你的ESS目录
C:\Program Files\ESS\ess-17.11(在Cygwin里对应/cygdrive/c/Program Files/ESS/ess-17.11),重新执行make命令,应该就能正常编译elisp文件了。
第二个错误:chmod: not found
这个问题出在安装阶段,chmod是Unix系统里修改文件权限的基础命令,属于coreutils工具包的一部分,你的Cygwin环境缺少这个包。
解决步骤:
- 再次打开Cygwin安装程序,在搜索栏输入
coreutils,找到对应的包并勾选安装。 - 安装完成后,在Cygwin终端输入
chmod --version,确认命令可以正常运行。 - 重新执行
make install,注意:如果目标目录/usr/share/emacs需要管理员权限写入,记得以管理员身份启动Cygwin终端,或者提前修改目录权限。
额外建议(适合Windows用户的简化方案)
其实如果只是想快速使用ESS,完全可以跳过编译和make安装的步骤:
- 直接把ESS的
lisp目录路径添加到Emacs的配置文件里:(add-to-list 'load-path "C:/Program Files/ESS/ess-17.11/lisp") (require 'ess-site) - 保存配置后重启Emacs,就能直接使用ESS的功能了,省去编译和安装的麻烦。
内容的提问来源于stack exchange,提问作者Rafael Zanzoori
相关产品推荐
相关产品推荐

