运行make时出错:缺少分隔符(您是指TAB而不是8个空格吗?)



我正在尝试将PHP phar命令行工具安装在我的Debian VM上,这里如何描述:

(1)下载php-src,我假设它在/tmp/php/src

(2)创建目录/tmp/phar

(3)保存为/tmp/php-src/ext/phar/Makefile。

(4) CD/tmp/php-src/ext/phar

(5) run sudo make

现在在步骤5之后,我得到一个错误:

:/tmp/php-src/ext/phar# make
Makefile:11: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.

据我所知,这个错误消息可能有两种可能的原因:

  1. 制作文件中的制表符。我已经用od -t c Makefile测试了文件。文件不包含制表符(t)。

  2. 这可能是make v3.81的一个错误,需要一个补丁或升级到(但不稳定:"警告:这个包来自实验发行版。") v3.82。我已经下载并安装(dpkg -i make_3.82-1_amd64.deb)它,但错误仍然发生。

是什么导致错误?怎样才能避免呢?

Thx

(在评论中回答:参见没有答案的问题,但在评论中解决了问题(或在聊天中扩展))

@Beta写道:

应该以制表符开始,而不是一堆空格。

OP写:

我已经用制表符替换了所有的8个空格序列,现在可以执行make脚本了。

我用过:cat Makefile|sed "s/ /t/" > Makefile

最新更新