Z_DATA_ERROR,ERRNO -3,zlib:不正确的数据检查,MBA M1
Z_DATA_ERROR, ERRNO -3, zlib: incorrect data check, MBA M1
最近我在使用最新的 Node 和 NPM 在我的 MacBook Air M1 机器上安装依赖项时遇到了问题。然后我发现 M1 不支持最新的节点版本。所以我的解决方案是使用 NVM 并将它们更改为 Node v14.16
一切正常,但是当我们的团队应用新的 eslint 配置时。但是,我仍然不确定是否是 eslint 导致了错误。
.eslintrc
{
"env": {
"es6": true,
"browser": true,
"node": true
},
"extends": ["eslint:recommended", "plugin:react/recommended"],
"parser": "@babel/eslint-parser",
"parserOptions": {
"requireConfigFile": false,
"ecmaVersion": 2018,
"sourceType": "module",
"ecmaFeatures": {
"impliedStrict": true,
"jsx": true
}
},
"plugins": ["react", "prettier", "@babel"],
"rules": {
// "prettier/prettier": [
// "warn",
// {
// "endOfLine": "auto",
// }
// ],
"no-console": 1,
"indent": [
2,
2,
{
"SwitchCase": 1
}
],
"linebreak-style": 0,
"quotes": [2, "single"],
"semi": 0,
"curly": [2, "all"],
"camelcase": "off",
"react/display-name": "off",
"eqeqeq": [2, "smart"],
"one-var-declaration-per-line": [2, "always"],
"new-cap": 2,
"no-case-declarations": 0
},
"globals": {
"axios": true,
"PropTypes": true
},
"settings": {
"import/resolver": {
"alias": [["./src/"]]
}
}
}
发生此错误:
错误
npm ERR! code Z_DATA_ERROR
npm ERR! errno -3
npm ERR! zlib: incorrect data check
日志
5147 silly saveTree └── yup@0.32.11
5148 verbose stack ZlibError: zlib: incorrect data check
5148 verbose stack at Unzip.write (/Users/metalheadcoder/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/minizlib/index.js:147:22)
5148 verbose stack at Object.write (/Users/metalheadcoder/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/tar/lib/parse.js:305:58)
5148 verbose stack at PassThrough.ondata (internal/streams/readable.js:719:22)
5148 verbose stack at PassThrough.emit (events.js:315:20)
5148 verbose stack at addChunk (internal/streams/readable.js:309:12)
5148 verbose stack at readableAddChunk (internal/streams/readable.js:284:9)
5148 verbose stack at PassThrough.Readable.push (internal/streams/readable.js:223:10)
5148 verbose stack at PassThrough.Transform.push (internal/streams/transform.js:166:32)
5148 verbose stack at PassThrough.afterTransform (internal/streams/transform.js:101:10)
5148 verbose stack at PassThrough._transform (internal/streams/passthrough.js:46:3)
5148 verbose stack at PassThrough.Transform._read (internal/streams/transform.js:205:10)
5148 verbose stack at PassThrough.Transform._write (internal/streams/transform.js:193:12)
5148 verbose stack at writeOrBuffer (internal/streams/writable.js:358:12)
5148 verbose stack at PassThrough.Writable.write (internal/streams/writable.js:303:10)
5148 verbose stack at Readable.ondata (internal/streams/readable.js:719:22)
5148 verbose stack at Readable.emit (events.js:315:20)
5149 verbose cwd /Users/metalheadcoder/Gitlab/warefe
5150 verbose Darwin 21.1.0
5151 verbose argv "/Users/metalheadcoder/.nvm/versions/node/v14.16.1/bin/node" "/Users/metalheadcoder/.nvm/versions/node/v14.16.1/bin/npm" "install"
5152 verbose node v14.16.1
5153 verbose npm v6.14.12
5154 error code Z_DATA_ERROR
5155 error errno -3
5156 error zlib: incorrect data check
5157 verbose exit [ -3, true ]
机器
MacBookAir M1 2020
方法
- 使用
nvm use v14
安装包
- 使用
nvm use v16
安装包
- 使用
nvm use v17
安装包
- 删除 node_modules 和 package-lock.js 也 运行
npm cache clean --force
提前致谢。
我在另一个模块上遇到了类似的问题。
我找到的解决方案是更新节点(到 v16)和 npm(到 v8)。
对于Node,我用的是brew(不过nvm应该没问题)。
对于npm,我使用的是官方文档所说的:
npm install -g npm@latest
正如您在我上面的评论中看到的那样,从 8.1 更新到 8.5 时它对我有用,但它停止工作了(我不知道为什么)。
解决方案是从官方网站下载二进制 nodejs 16 而不是自己编译 npm
。我假设从源代码构建 node
时有任何技巧。
最近我在使用最新的 Node 和 NPM 在我的 MacBook Air M1 机器上安装依赖项时遇到了问题。然后我发现 M1 不支持最新的节点版本。所以我的解决方案是使用 NVM 并将它们更改为 Node v14.16
一切正常,但是当我们的团队应用新的 eslint 配置时。但是,我仍然不确定是否是 eslint 导致了错误。
.eslintrc
{
"env": {
"es6": true,
"browser": true,
"node": true
},
"extends": ["eslint:recommended", "plugin:react/recommended"],
"parser": "@babel/eslint-parser",
"parserOptions": {
"requireConfigFile": false,
"ecmaVersion": 2018,
"sourceType": "module",
"ecmaFeatures": {
"impliedStrict": true,
"jsx": true
}
},
"plugins": ["react", "prettier", "@babel"],
"rules": {
// "prettier/prettier": [
// "warn",
// {
// "endOfLine": "auto",
// }
// ],
"no-console": 1,
"indent": [
2,
2,
{
"SwitchCase": 1
}
],
"linebreak-style": 0,
"quotes": [2, "single"],
"semi": 0,
"curly": [2, "all"],
"camelcase": "off",
"react/display-name": "off",
"eqeqeq": [2, "smart"],
"one-var-declaration-per-line": [2, "always"],
"new-cap": 2,
"no-case-declarations": 0
},
"globals": {
"axios": true,
"PropTypes": true
},
"settings": {
"import/resolver": {
"alias": [["./src/"]]
}
}
}
发生此错误:
错误
npm ERR! code Z_DATA_ERROR
npm ERR! errno -3
npm ERR! zlib: incorrect data check
日志
5147 silly saveTree └── yup@0.32.11
5148 verbose stack ZlibError: zlib: incorrect data check
5148 verbose stack at Unzip.write (/Users/metalheadcoder/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/minizlib/index.js:147:22)
5148 verbose stack at Object.write (/Users/metalheadcoder/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/tar/lib/parse.js:305:58)
5148 verbose stack at PassThrough.ondata (internal/streams/readable.js:719:22)
5148 verbose stack at PassThrough.emit (events.js:315:20)
5148 verbose stack at addChunk (internal/streams/readable.js:309:12)
5148 verbose stack at readableAddChunk (internal/streams/readable.js:284:9)
5148 verbose stack at PassThrough.Readable.push (internal/streams/readable.js:223:10)
5148 verbose stack at PassThrough.Transform.push (internal/streams/transform.js:166:32)
5148 verbose stack at PassThrough.afterTransform (internal/streams/transform.js:101:10)
5148 verbose stack at PassThrough._transform (internal/streams/passthrough.js:46:3)
5148 verbose stack at PassThrough.Transform._read (internal/streams/transform.js:205:10)
5148 verbose stack at PassThrough.Transform._write (internal/streams/transform.js:193:12)
5148 verbose stack at writeOrBuffer (internal/streams/writable.js:358:12)
5148 verbose stack at PassThrough.Writable.write (internal/streams/writable.js:303:10)
5148 verbose stack at Readable.ondata (internal/streams/readable.js:719:22)
5148 verbose stack at Readable.emit (events.js:315:20)
5149 verbose cwd /Users/metalheadcoder/Gitlab/warefe
5150 verbose Darwin 21.1.0
5151 verbose argv "/Users/metalheadcoder/.nvm/versions/node/v14.16.1/bin/node" "/Users/metalheadcoder/.nvm/versions/node/v14.16.1/bin/npm" "install"
5152 verbose node v14.16.1
5153 verbose npm v6.14.12
5154 error code Z_DATA_ERROR
5155 error errno -3
5156 error zlib: incorrect data check
5157 verbose exit [ -3, true ]
机器
MacBookAir M1 2020
方法
- 使用
nvm use v14
安装包
- 使用
nvm use v16
安装包
- 使用
nvm use v17
安装包
- 删除 node_modules 和 package-lock.js 也 运行
npm cache clean --force
提前致谢。
我在另一个模块上遇到了类似的问题。
我找到的解决方案是更新节点(到 v16)和 npm(到 v8)。
对于Node,我用的是brew(不过nvm应该没问题)。
对于npm,我使用的是官方文档所说的:
npm install -g npm@latest
正如您在我上面的评论中看到的那样,从 8.1 更新到 8.5 时它对我有用,但它停止工作了(我不知道为什么)。
解决方案是从官方网站下载二进制 nodejs 16 而不是自己编译 npm
。我假设从源代码构建 node
时有任何技巧。