一、引言
最近在工作中,在本地将代码文件上传到远端服务器,在远端服务器进行 make 编译的时候,会报这样的错:
make: Warning: File "xxx" has modification time yyy s in the future
其中 xxx 是某一个文件的名称,yyy 是一个比较长的时间倒计时,以秒为单位。
经过搜索资料,我得知,这个问题是因为你本地修改了文件,上传到服务端的时候,修改文件的时间比服务端系统的时间还要晚,导致 make 指令一直在等待到达修改文件的时间(也就是未来的某个时间点,也就是 make 倒计时的缘由),于是你就看到了这样的报错提示。直到倒计时结束,make 命令才会正常执行。
解决这个问题的办法很简单,就是修改服务端系统的时间就行了,比如说
$ date -s 2019-08-20
$ date -s 19:03:00
这样确实能够解决问题,但是,修改系统时间需要 root 权限,你没有 root 权限怎么办呢?
二、解决
没有 root 权限还有另一个办法,就是在你每次往服务端上传了文件之后,执行:
$ touch *
这样,就可以以服务端的时间修改所有文件的文件戳,这样就不会出现 make 报错的问题了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。