运行命令" ion cordova build android --prod"得到以下错误。
Error: Metadata version mismatch for module C:/Users/newuser/Documents/project/project/node_modules/@ionic/storage/dist/src/storage.d.ts, found version 4, expected 3
at StaticSymbolResolver.getModuleMetadata (C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler\bundles\compiler.umd.js:24474:34)
at StaticSymbolResolver._createSymbolsOf (C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler\bundles\compiler.umd.js:24260:46)
at StaticSymbolResolver.getSymbolsOf (C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler\bundles\compiler.umd.js:24241:14)
at C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler\bundles\compiler.umd.js:23023:30
at Array.forEach (<anonymous>)
at extractProgramSymbols (C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler\bundles\compiler.umd.js:23022:79)
at AotCompiler.compileAll (C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler\bundles\compiler.umd.js:22720:47)
at CodeGenerator.codegen (C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler-cli\src\codegen.js:30:14)
at Function.NgTools_InternalApi_NG_2.codeGen (C:\Users\newuser\Documents\project\project\node_modules\@angular\compiler-cli\src\ngtools_api.js:61:30)
at Object.doCodegen (C:\Users\newuser\Documents\project\project\node_modules\@ionic\app-scripts\dist\aot\codegen.js:6:51)
离子信息:
@ionic/cli-utils : 1.14.0
ionic (Ionic CLI) : 3.14.0
全球套餐:
cordova (Cordova CLI) : 7.1.0
本地包裹:
@ionic/app-scripts : 2.1.3
Cordova Platforms : android 6.3.0
Ionic Framework : ionic-angular 3.6.0
系统:
Node : v8.9.0
npm : 5.5.1
OS : Windows 10
其他:
backend : pro
答案 0 :(得分:4)
正如此issue所述,这是由于离子存储2.1.1与角度5.x的相关性。在我的情况下运行:
npm install --save @ionic/storage@2.0.1
将我的离子存储恢复到2.0.1版本并解决了我的问题。
请记住,离子存储的package.json可以声明它的版本是2.0.1,但是如果你看到详细信息,你会发现它引用的是2.1.1软件包版本。
希望这可以帮到你