我无法在Ionic v3中安装相机

问题描述 投票:1回答:2

我正在构建一个Ionic App,我想在其中使用cordova相机插件,因此我输入:

ionic cordova plugin add cordova-plugin-camera

然后我做:

npm install --save @ionic-native/camera

我收到这个警告:

npm WARN @ionic-native/[email protected] requires a peer of @ionic-native/[email protected] but none is installed. You must install peer dependencies yourself.

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

之后,当我在app.module和提供程序列表中包含相机插件时,我收到此消息:

Error: Invalid provider for the NgModule 'AppModule' - only instances of Provider and Type are allowed, got: [StatusBar, SplashScreen, [object Object], ?[object Object]?]
at syntaxError (http://localhost:8100/build/vendor.js:74769:34)
at http://localhost:8100/build/vendor.js:89925:40
at Array.forEach (<anonymous>)
at CompileMetadataResolver._getProvidersMetadata (http://localhost:8100/build/vendor.js:89893:19)
at CompileMetadataResolver.getNgModuleMetadata (http://localhost:8100/build/vendor.js:89463:50)
at JitCompiler._loadModules (http://localhost:8100/build/vendor.js:107787:87)
at JitCompiler._compileModuleAndComponents (http://localhost:8100/build/vendor.js:107748:36)
at JitCompiler.compileModuleAsync (http://localhost:8100/build/vendor.js:107664:37)
at CompilerImpl.compileModuleAsync (http://localhost:8100/build/vendor.js:73605:49)
at PlatformRef.bootstrapModule (http://localhost:8100/build/vendor.js:5747:25)
npm ionic3 cordova-plugins ionic-native
2个回答
1
投票

由于Ionic 4的发布,为Ionic 3安装Ionic Native插件需要在安装Ionic 3时添加@4。因此要解决此问题,请使用npm uninstall --save @ionic-native/camera卸载插件,然后使用npm uninstall --save @ionic-native/camera@4重新安装,问题将得到解决。


0
投票

你错过了ionic/core依赖模块。所以通过以下命令npm i @ionic-native/core安装它们

并尝试安装camera

ionic cordova plugin add cordova-plugin-camera

npm install --save @ionic-native/camera

在进行其他步骤之前,请检查它们是否添加或在package.jsonconfig.xml

© www.soinside.com 2019 - 2024. All rights reserved.