Z_DATA_ERROR,ERRNO -3,zlib:数据检查不正确,MBA M1

met*_*der 14 node.js npm reactjs apple-m1

最近,我在 MacBook Air M1 机器上使用最新的 Node 和 NPM 安装依赖项时遇到了问题。然后我发现M1不支持最新的Node版本。所以我的解决方案是使用 NVM 并将其更改为 Node v14.16

\n

一切都运行良好,但是当我们的团队应用新的 eslint 配置时。然而,我仍然不确定 eslint 是否导致了错误。

\n

.eslintrc

\n
{\n  "env": {\n    "es6": true,\n    "browser": true,\n    "node": true\n  },\n  "extends": ["eslint:recommended", "plugin:react/recommended"],\n  "parser": "@babel/eslint-parser",\n  "parserOptions": {\n    "requireConfigFile": false,\n    "ecmaVersion": 2018,\n    "sourceType": "module",\n    "ecmaFeatures": {\n      "impliedStrict": true,\n      "jsx": true\n    }\n  },\n  "plugins": ["react", "prettier", "@babel"],\n  "rules": {\n    // "prettier/prettier": [\n    //   "warn",\n    //   {\n    //     "endOfLine": "auto",\n    //   }\n    // ],\n    "no-console": 1,\n    "indent": [\n      2,\n      2,\n      {\n        "SwitchCase": 1\n      }\n    ],\n    "linebreak-style": 0,\n    "quotes": [2, "single"],\n    "semi": 0,\n    "curly": [2, "all"],\n    "camelcase": "off",\n    "react/display-name": "off",\n    "eqeqeq": [2, "smart"],\n    "one-var-declaration-per-line": [2, "always"],\n    "new-cap": 2,\n    "no-case-declarations": 0\n  },\n  "globals": {\n    "axios": true,\n    "PropTypes": true\n  },\n  "settings": {\n    "import/resolver": {\n      "alias": [["./src/"]]\n    }\n  }\n}\n\n
Run Code Online (Sandbox Code Playgroud)\n

发生了这个错误:

\n

错误

\n
npm ERR! code Z_DATA_ERROR\nnpm ERR! errno -3\nnpm ERR! zlib: incorrect data check\n
Run Code Online (Sandbox Code Playgroud)\n

日志

\n
5147 silly saveTree \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 yup@0.32.11\n5148 verbose stack ZlibError: zlib: incorrect data check\n5148 verbose stack     at Unzip.write (/Users/metalheadcoder/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/minizlib/index.js:147:22)\n5148 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)\n5148 verbose stack     at PassThrough.ondata (internal/streams/readable.js:719:22)\n5148 verbose stack     at PassThrough.emit (events.js:315:20)\n5148 verbose stack     at addChunk (internal/streams/readable.js:309:12)\n5148 verbose stack     at readableAddChunk (internal/streams/readable.js:284:9)\n5148 verbose stack     at PassThrough.Readable.push (internal/streams/readable.js:223:10)\n5148 verbose stack     at PassThrough.Transform.push (internal/streams/transform.js:166:32)\n5148 verbose stack     at PassThrough.afterTransform (internal/streams/transform.js:101:10)\n5148 verbose stack     at PassThrough._transform (internal/streams/passthrough.js:46:3)\n5148 verbose stack     at PassThrough.Transform._read (internal/streams/transform.js:205:10)\n5148 verbose stack     at PassThrough.Transform._write (internal/streams/transform.js:193:12)\n5148 verbose stack     at writeOrBuffer (internal/streams/writable.js:358:12)\n5148 verbose stack     at PassThrough.Writable.write (internal/streams/writable.js:303:10)\n5148 verbose stack     at Readable.ondata (internal/streams/readable.js:719:22)\n5148 verbose stack     at Readable.emit (events.js:315:20)\n5149 verbose cwd /Users/metalheadcoder/Gitlab/warefe\n5150 verbose Darwin 21.1.0\n5151 verbose argv "/Users/metalheadcoder/.nvm/versions/node/v14.16.1/bin/node" "/Users/metalheadcoder/.nvm/versions/node/v14.16.1/bin/npm" "install"\n5152 verbose node v14.16.1\n5153 verbose npm  v6.14.12\n5154 error code Z_DATA_ERROR\n5155 error errno -3\n5156 error zlib: incorrect data check\n5157 verbose exit [ -3, true ]\n
Run Code Online (Sandbox Code Playgroud)\n

机器

\n

MacBookAir M1 2020

\n

方法

\n
    \n
  • 使用安装包nvm use v14
  • \n
  • 使用安装包nvm use v16
  • \n
  • 使用安装包nvm use v17
  • \n
  • 删除node_modules并且package-lock.js也运行npm cache clean --force
  • \n
\n

先感谢您。

\n

pom*_*421 16

我对另一个模块也有类似的问题。

我找到的解决方案是更新node(到v16)和npm(到v8)。

对于Node,我使用了brew(但nvm应该没问题)。

对于 npm,我使用了官方文档所说的:

npm install -g npm@latest