最近碰上一件怪事,用nodejs写了一个文件打包的脚本,将对应的文件生成压缩包。然而将该生成的压缩包分别在Ubuntu和Window系统上解压出来后文件不一致?此时我的内心几乎是崩溃的
Window系统下的文件
将Window系统下的压缩包复制至虚拟机的Ubuntu系统中
文件打包的脚本用nodejs写的,核心代码如下
//将项目文件复制至压缩包所在文件夹中
archive.directory(projectPath, projectName);
//替换对应系统的node_modules
archive.directory(node_modulesVersionPath + osVersion +'/', projectName + '/node_modules/');
执行脚本的环境为Window系统,node_modulesVersionPath + osVersion
路径下是来自不同操作系统安装的node_modules模块。
压缩包文件可以确认是同一份,
在window系统下使用certutil -hashfile ./linux_x64.zip MD5,
在ubantu系统下使用md5sum ./linux_x64.zip,
MD5码都是19a09b9fb2f0aae7fd013fc0b9da434f
文件在系统间通过VM Tools传输,
在ubantu系统下压缩包文件的解压用的是系统自带的提取功能,
在window系统下压缩包文件的解压用的是360压缩
压缩文件在不同系统间解压出的文件不一致,解压后的文件在不同系统间传输,内容没变
话说这还有救吗?