Mac OS X上源代码编译安装Emacs

我用的Mac系统版本是:macOS Sierra 10.12.6,想在上面安装Emacs。目前,想通过源代码编译安装的方式,来给自己的Mac上安装最新的Emacs。我的问题是:能否不下载Xcode,就可以对Emacs的源代码要进行编译安装?查看了很多相关的文章,都说,首先得下载安装Xcode,然后才能对Emacs的源代码进行编译安装。

必须下载。编译器都没有你怎么编译?

我看到网上有人说,下载一个gcc就可以了,或者是command line tool也可以。不知道有试过的童鞋没?

https://developer.apple.com/downloads/index.action?=command%20line%20tools

直接下 Command Line Tools 就行,从來不需要 Xcode。直接在终端 xcode-select --install 就會出个弹窗问你是否下載,点确认就是。因为你的系统不是最新版,如果有问題下不了就从上面的 link 下旧版本,需要 Apple Developer 帳號,不用付費。

实际上现在装 Xcode 也不会在 command line 里装编译器,就算下 Xcode 了也要照上面來一梭子另外装 Command Line Tools。

1 个赞

谢谢您的提醒!实际上,我刚在/Library/Developer/CommandLineTools位置发现这个文件夹,应该是系统里预先安装了Command Line Tools,但我不知道是哪个版本的CLT。不知道怎么查看本机上的CLT的版本情况?

xcode-select --print-path

如果是 /Library/Developer/CommandLineTools 而不是別的说明就是装了的。或者直接运行 clang 出现 clang: error: no input files 就是装了的。

1 个赞

在终端运行 clang 确实出现了clang: error: no input files。那按照您所说的,应该是预先装了。

/Library/Developer/CommandLineTools这个directory里查看了一遭,发现里面好像提到了版本。里面有个文件夹叫SDKs,在这个文件夹里有个子文件夹叫MacOSX10.13.sdk,所以我猜想,这个Command Line Tools的版本应该就是适用于MacOSX10.13。但我现在还有个问题:我目前的系统是MacOSX10.12.6,而里面已经安装的Command Line Tools的版本还高于我的Mac系统的版本,那么,高版本Command Line Tools适用于低版本Mac 系统么(暂时还不想升级到mojave)?

只要你不是编译 App 就没事。觉得不妥就去手动下载。又不是网游强化武器编译失败电脑就会爆炸。

2 个赞

我不做iOS的app的开发,我只是想在Mac上从源代码编译安装Emacs编辑器而已。

想请问下您,是不是安装最新版的Emacs 26.2比较好?

终于从源码编译好了Emacs,不过,是最新的版本,Emacs27,想不到直接从Git克隆的是最新的版本,否则,当时就从tarball安装包编译了。