当我运行npm publish
命令时,我在最后得到下面的错误。
npm notice
npm notice 📦 @my_scope/my-package@2.0.156
npm notice === Tarball Contents ===
npm notice <size> <file>
npm notice <size> <file>
npm notice <size> <file>
...
npm notice filename: @my_scope/my-package-2.0.156.tgz
npm notice package size: 1.8 GB
npm notice unpacked size: 1.8 GB
npm notice shasum: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
npm notice integrity: sha512-XXXXXXXXXXX[...]XXXXXXXXXXXX==
npm notice total files: 333
npm notice
npm notice Publishing to https://xxxxxxxxxxxx
npm ERR! code ERR_STRING_TOO_LONG
npm ERR! Cannot create a string longer than 0x1fffffe8 characters
这意味着什么?我该如何解决它?
1条答案
按热度按时间lymnna711#
ERR_STRING_TOO_LONG
表示试图创建的字符串长度超过了最大允许长度。0x1fffffe8
表示512MB,这是上述情况下允许的最大长度。npm publish命令试图创建一个包含包文件夹内容的压缩包,并将压缩包数据转换为base64编码的字符串,在这种情况下,它已经超过了最大允许长度(512MB),这也导致了这个错误。
要解决此问题,请仔细检查
npm notice <size> <file>
输出的内容,并删除包中不必要的数据(例如缓存文件夹~/.npm/_cacache/
)。参考文献: