2016-08-11 946 views
8

Mac OS自带版本3.81,我想要一个更新的版本(>=4.0)在某些项目上使用。如何在Mac OS上安装较新版本的Make?

如何安装新版本,最好使用brew?

这与GNU Make --output-sync doesn't work?有关,因为我想在并行构建中使用某些功能输出同步。

+1

'自制/ dupes/make'是你正在寻找的食谱。 – cel

+1

我做过'安装自制软件/软件/ make',但它没有启用新的make。我甚至再次登录并尝试了'which -a make'并且仍然只有一个结果,'/ usr/bin/make'。我错过了什么? – sorin

+0

请让它回答,以便我可以接受它。谢谢! – sorin

回答

5

brew在homebrew/dupes tap中发货makebrew install homebrew/dupes/make在PATH中放入gmake二进制文件,以避免与macOS上的默认make版本发生冲突。

选项--with-default-names将安装为make,因此会影响默认版本。

查看brew info homebrew/dupes/make了解更多详情。

homebrew/dupes/make: stable 4.2.1 (bottled) 
Utility for directing compilation 
https://www.gnu.org/software/make/ 
/usr/local/Cellar/make/4.2.1 (12 files, 957.3K) * 
    Poured from bottle on 2016-08-11 at 20:18:41 
From: https://github.com/Homebrew/homebrew-dupes/blob/master/make.rb 
==> Dependencies 
Optional: guile ✘ 
==> Options 
--with-default-names 
     Do not prepend 'g' to the binary 
--with-guile 
     Build with guile support 
+0

我一直在使用自制软件(cli“brew”)一年多,我必须承认它比MacPorts(cli“port”)或Fink更有效率。但我当然喜欢将Linux程序移植到达尔文的所有举措。 – SteffX

+0

对不起,我刚刚意识到我在这里犯了一个错字:它是'--with-default-names'。 'brew install make --with-default-names'适用于我。对困惑感到抱歉。我删除了所有我错误的评论。 – cel

+0

如果有人想要使用GNU make for macOS v.4.2.1,我发现即使您通过'--with-guile'选项,brew程序包也不能安装guile。这是因为随brew软件包提供的配置脚本在更可能拥有'guile-2.2'或更高版本时使用硬编码包名称'guile-2.0'。因此,您必须下载tar https:// ftpmirror.gnu.org/make/make-4.2.1.tar.bz2'并自己创建,搜索并用实际的guile包版本替换'guile-2.0'通过'pkg-config --list-all'。叹。 –