在 postinstall 调用时,sed 无法更改文件。
在OSX上,我总是通过Homebrew安装GNU sed版本,以避免在脚本中出现问题,因为大多数脚本都是针对GNU sed版本编写的。
brew install gnu-sed --with-default-names
然后,你的BSD sed将被GNU sed替换。
或者,你可以安装不带default-names的版本,但是需要进行以下操作:
- 在安装gnu-sed后按照指示更改你的PATH
。
- 在你的脚本中检查选择gsed
或sed
,取决于你的系统。
--with-default-names
已经从homebrew-core中删除了,更多信息请参考这个答案。现在,在安装gnu-sed
时,安装说明指定你需要将gnubin
添加到你的PATH
中:PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
Homebrew软件包的页面 -- formulae.brew.sh/formula/coreutils -- 建议如果你希望在Mac工具之前将它们添加到你的路径中,可以将以下内容添加到你的bashrc
中:PATH="$(brew --prefix)/opt/coreutils/libexec/gnubin:$PATH"