无法安装新版本的端口 – Elixir 1.5.1 – 在FreeBsd中 – “2个hunk中的1个失败 – 将拒绝存入Makefile.rej”

我正在尝试安装Elixir 1.5和OTP 20.我这样做:

pkg install erlang-runtime20 portsnap fetch extract update 

我已经改变了/ usr / ports / lang / elixir / Makefile指向最新版本的Elixir和erlang:

 PORTVERSION= 1.5.1 BUILD_DEPENDS= erlang>=20:lang/erlang RUN_DEPENDS= erlang>=20:lang/erlang 

 make makesum 

这里有一个例外:

 $ sudo make install ===> License APACHE20 accepted by the user ===> elixir-1.5.1_1 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by elixir-1.5.1_1 for building ===> Extracting for elixir-1.5.1_1 => SHA256 Checksum OK for elixir/1.5.1/Docs.zip. => SHA256 Checksum OK for elixir/1.5.1/elixir-lang-elixir-v1.5.1_GH0.tar.gz. ===> Patching for elixir-1.5.1_1 ===> Applying FreeBSD patches for elixir-1.5.1_1 1 out of 2 hunks failed--saving rejects to Makefile.rej => FreeBSD patch patch-Makefile failed to apply cleanly. *** Error code 1 Stop. make[1]: stopped in /usr/ports/lang/elixir *** Error code 1 Stop. make: stopped in /usr/ports/lang/elixir 

如何解决它?

那么,你不能只是PORTVERSION并期待事情的工作。 无论是邮件维护者要求更新端口,还是弄湿你的手 – 弄清楚这个补丁是干什么的,如果仍然被应用,刷新它,如果还是需要的话。

要生成一个新的补丁,将原始的Makefile成为Makefile.orig ,编辑Makefile ,然后运行make makepatch