Meteor安装工具卡住,低于2.13版本项目运行失败求助
解决Meteor旧项目执行update/reset命令报Z_DATA_ERROR的问题
问题背景
运行版本低于METEOR@2.13的项目时,新项目可正常创建运行,但执行以下命令均失败:
meteor updatemeteor resetmeteor update --all-packages
错误信息如下:
/Users/[username]/.meteor/packages/meteor-tool/.2.13.0.yk4rw8.bheh++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218 throw error; ^ Error: incorrect data check at Zlib.zlibOnError [as onerror] (zlib.js:187:17) => awaited here: at Promise.await (/Users/[username]/.meteor/packages/meteor-tool/.2.13.0.yk4rw8.bheh++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:60:12) at Object.extractTarGz (/Users/[username]/.meteor/packages/meteor-tool/.2.13.0.yk4rw8.bheh++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/fs/tools/fs/files.ts:791:11) at Object.exports._extractAndConvert (/tools/packaging/tropohouse.js:47:9) at /tools/packaging/tropohouse.js:502:42 at Object.enterJob (/tools/utils/buildmessage.js:388:12) at /tools/packaging/tropohouse.js:499:24 at Function.each (/Users/[username]/.meteor/packages/meteor-tool/.2.13.0.yk4rw8.bheh++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore-node-f-pre.js:1316:7) at /tools/packaging/tropohouse.js:466:11 at Object.enterJob (/tools/utils/buildmessage.js:388:12) at Object.download (/tools/packaging/tropohouse.js:424:20) at /tools/packaging/tropohouse.js:597:22 at Object.enterJob (/tools/utils/buildmessage.js:388:12) at exports.Tropohouse.downloadPackagesMissingFromMap (/tools/packaging/tropohouse.js:594:20) at /tools/cli/main.js:469:28 at /tools/packaging/catalog/catalog.js:100:5 at Object.capture (/tools/utils/buildmessage.js:283:5) at Object.catalog.runAndRetryWithRefreshIfHelpful (/tools/packaging/catalog/catalog.js:99:31) at /tools/cli/main.js:468:15 at Object.capture (/tools/utils/buildmessage.js:283:5) at /tools/cli/main.js:465:33 at Console.withProgressDisplayVisible (/tools/console/console.js:639:14) at springboard (/tools/cli/main.js:464:11) at /tools/cli/main.js:1165:7 { errno: -3, code: 'Z_DATA_ERROR' }
解决方案
1. 清理损坏的Meteor工具包缓存
错误源于解压损坏的压缩包,先删除本地2.13.0版本的工具包缓存:
rm -rf ~/.meteor/packages/meteor-tool/.2.13.0*
执行后重新运行命令,Meteor会自动重新下载完整的工具包文件。
2. 强制指定项目使用旧版本Meteor
针对旧项目,直接指定目标版本更新,避免用2.13.0工具处理不兼容的包:
meteor update --release <你的目标版本号>
例如项目需要2.12.0版本:
meteor update --release 2.12.0
3. 彻底清理项目本地缓存
手动删除项目的本地缓存目录,比meteor reset更彻底:
rm -rf .meteor/local
之后重新运行项目或执行更新命令。
4. 重新安装对应版本的Meteor工具
如果上述方法无效,卸载当前Meteor并重新安装目标旧版本:
curl https://install.meteor.com/?release=2.12.0 | sh
替换命令中的版本号为你需要的旧版本,全局工具切换后处理旧项目兼容性更好。
内容的提问来源于stack exchange,提问作者Brianmuks
相关产品推荐
相关产品推荐

