复制大文件(超过 2GB)时节点未知系统错误
Node Unknown system error when copying large files (over 2GB)
我在尝试使用 Node 的 fs.copyFileSync 时遇到了一个神秘的错误,并且还尝试了 fs-extra 来复制文件并且当所述文件大于 2GB 时似乎出现了错误。
此外,出于某种原因 运行 我的 MacBook Air 上的相同代码段具有完全相同的节点版本和文件,不会产生任何问题。由于给出的错误,谷歌搜索答案似乎无济于事。
我已经检查了磁盘 space 和权限问题。手动使用 Finder 复制似乎没问题。
我能找到的最接近的信息是关于这个 Github 问题的:
https://github.com/coderaiser/cloudcmd/issues/163#issuecomment-386577523
更新:
我使用 mkfile -n 1999m testfile1 和 mkfile -n 2g testfile2 创建了 2 个用于测试的文件,然后尝试使用 node.js 复制它们。 1.999GB 的文件工作正常,2GB 的文件因未知错误而失败。所以出于某种原因这里有一个明确的 2GB 限制。
环境:
- Mac迷你2018
- macOS 卡特琳娜 10.15 19A602
- 节点 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
我在尝试使用 Node 的 fs.copyFileSync 时遇到了一个神秘的错误,并且还尝试了 fs-extra 来复制文件并且当所述文件大于 2GB 时似乎出现了错误。
此外,出于某种原因 运行 我的 MacBook Air 上的相同代码段具有完全相同的节点版本和文件,不会产生任何问题。由于给出的错误,谷歌搜索答案似乎无济于事。
我已经检查了磁盘 space 和权限问题。手动使用 Finder 复制似乎没问题。
我能找到的最接近的信息是关于这个 Github 问题的: https://github.com/coderaiser/cloudcmd/issues/163#issuecomment-386577523
更新:
我使用 mkfile -n 1999m testfile1 和 mkfile -n 2g testfile2 创建了 2 个用于测试的文件,然后尝试使用 node.js 复制它们。 1.999GB 的文件工作正常,2GB 的文件因未知错误而失败。所以出于某种原因这里有一个明确的 2GB 限制。
环境:
- Mac迷你2018
- macOS 卡特琳娜 10.15 19A602
- 节点 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