尝试使用Node的fs.copyFileSync并尝试fs-extra复制文件时出现神秘错误,并且当所述文件大于2GB时似乎出现错误。

此外,由于某种原因,在具有完全相同的Node版本和文件的MacBook Air上运行相同的代码片段也没有问题。由于给出的错误,谷歌搜索答案似乎无济于事。

我已经检查了磁盘空间和权限问题。手动使用Finder复制似乎很好。

我可以找到有关此Github问题的最接近信息:
https://github.com/coderaiser/cloudcmd/issues/163#issuecomment-386577523

更新:

我使用mkfile -n 1999m testfile1和mkfile -n 2g testfile2创建了两个文件进行测试,然后尝试使用node复制它们。 1.999GB文件工作正常,而2GB文件失败,出现未知错误。因此出于某种原因,此处明确有2GB的限制。

环境:

  • Mac mini 2018
  • macOS Catalina 10.15 19A602
  • Node 12.13
  • const fs = require('fs');
    
    fs.copyFileSync('/Users/michael/Movies/wamp/1.mp4', '/Users/michael/Desktop/1.mp4');
    
    internal/fs/utils.js:220
        throw err;
        ^
    
    Error: UNKNOWN: unknown error, copyfile '/Users/michael/Movies/wamp/1.mp4' -> '/Users/michael/Desktop/1.mp4'
        at Object.copyFileSync (fs.js:1790:3)
        at Object.<anonymous> (/Users/michael/Development/homelab/meiti/copy-test.js:3:4)
        at Module._compile (internal/modules/cjs/loader.js:956:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
        at Module.load (internal/modules/cjs/loader.js:812:32)
        at Function.Module._load (internal/modules/cjs/loader.js:724:14)
        at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
        at internal/main/run_main_module.js:17:11 {   errno: -1429910540,   syscall: 'copyfile',   code: 'UNKNOWN',   path: '/Users/michael/Movies/wamp/1.mp4',   dest: '/Users/michael/Desktop/1.mp4' }
    

    最佳答案

    我提交了一个错误报告,并在依赖库libuv中进行了修复

    https://github.com/nodejs/node/issues/30085#issuecomment-547668130

    10-05 20:50
    查看更多