首页 > 解决方案 > 错了!ZlibError: zlib: 在 lerna 中发布包时块类型无效

问题描述

我正在尝试使用lerna publish这样的方式发布我的包:

lerna publish prerelease --preid daily --yes --force-publish --registry <registry_url>

我已将此步骤插入到我的 Jenkins 构建管道中,如下所示:

stage("setup enviornment") {
      steps {
            echo "\n[ ENV SET UP ]\n"
                ... Authentication Steps
            }
        }
stage("install packages") {
      steps {
        echo "\n[ INSTALLING PACKAGES ]\n"
        sh "yarn install"
      }
    }
stage("build packages") {
      steps {
        echo "\n[ BUILDING PACKAGES ]\n"
        sh "yarn build"
      }
    }
stage("Publish packages") {
      steps {
        echo "\n[ PUBLISHING PACKAGES ]\n"
        sh "yarn daily-deploy"
      }
    }

该脚本daily-deploy包含上面提到的 lerna 命令。

但是,在发布包的最后一步(私有存储库)中出现以下错误:

lerna info auto-confirmed 
lerna info execute Skipping releases
lerna info git Pushing tags...
lerna info publish Publishing packages to npm...
lerna notice Skipping all user and access validation due to third-party registry
lerna notice Make sure you're authenticated properly ¯\_(ツ)_/¯
lerna WARN ENOLICENSE Package <package name> is missing a license.
lerna WARN ENOLICENSE One way to fix this is to add a LICENSE.md file to the root of this repository.
lerna WARN ENOLICENSE See https://choosealicense.com for additional guidance.
lerna ERR! ZlibError: zlib: invalid block type
lerna ERR!     at Unzip.ZlibBase.(anonymous function).on.er (/apps/agent/workspace/<project>-prerelease/node_modules/minizlib/index.js:73:52)
lerna ERR!     at Unzip.emit (events.js:203:15)
lerna ERR!     at Zlib.zlibOnError [as onerror] (zlib.js:165:8)
lerna ERR!     at processChunkSync (zlib.js:403:12)
lerna ERR!     at Unzip.ZlibBase._processChunk (zlib.js:378:12)
lerna ERR!     at Unzip.write (/apps/agent/workspace/<project>-prerelease/node_modules/minizlib/index.js:140:30)
lerna ERR!     at Object.write (/apps/agent/workspace/<project>-prerelease/node_modules/tar/lib/parse.js:305:58)
lerna ERR!     at Yallist.pipes.forEach.p (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/minipass/index.js:374:18)
lerna ERR!     at Yallist.forEach (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/yallist/yallist.js:156:8)
lerna ERR!     at ReadStream.emit (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/minipass/index.js:373:20)
lerna ERR!     at ReadStream.emit (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/fs-minipass/index.js:154:22)
lerna ERR!     at ReadStream.write (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/minipass/index.js:163:17)
lerna ERR!     at ReadStream.[_handleChunk] (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/fs-minipass/index.js:131:19)
lerna ERR!     at ReadStream.[_onread] (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/fs-minipass/index.js:109:32)
lerna ERR!     at fs.read (/apps/agent/workspace/<project>-prerelease/node_modules/tar/node_modules/fs-minipass/index.js:101:22)
lerna ERR! lerna zlib: invalid block type
error Command failed with exit code 1.

我有所有的私人包裹,除了一个。

我的 lerna.json 如下:

{
  "packages": [
    "packages/*"
  ],
  "version": "independent",
  "command": {
    "publish": {
      "registry": <repository_url>
    }
  },
  "npmClient": "yarn",
  "useWorkspaces": true
}

有人可以帮我解决这个问题吗?

标签: gitjenkinsnpmpackage.jsonlerna

解决方案


推荐阅读