您的位置:首页 > 其它

Cordova安装插件(包括本地插件)失败解决方法

2017-09-13 18:11 429 查看
先看一下安装插件弹出的错误:

Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap

Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Failed to install 'cordova-plugin-whitelist':Error: cmd: Command failed with exit code 1 at ChildProcess.whenDone (D:\CordovaSpace\helloWorld\platforms\android\cordova\node_modules\cordova-common\src\superspawn.js:169:23) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at maybeClose (internalild_process.js:850:16) at Process.ChildProcess._handle.onexit (internalild_process.js:215:5) Error: cmd: Command failed with exit code 1


错误信息上说我空间不足,在stackoverflow查找到类似的解决方案,一开始也确确实实解决了这个问题。不过后来出现的问题让我放弃了这种解决方案,不过也不是说不可以尝试一下。

<1> 解决方案:在环境变量中添加一个系统变量,变量名:
_JAVA_OPTIONS
,变量值:
-Xmx512M


想看原网页的话,请移步到此

<2> 如果是cordova小白的话,刚新建的cordova工程出现这种问题,可是采用stackoverflow上的解决方案,把对应的platform移除再添加一遍,命令如下:

//我的是android项目,所以移除android platform
cordova platform remove android
//然后再添加进来
cordova platform add android


<3> 输入命令
cordova requirements android
,看看对应的jdk、sdk、Gradle是否正确安装,绝大多数原因是没有安装正确。

// 正确的信息如下
E:\CordovaTeamwork\cordovaProject\platforms\android>cordova  requirements

Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-26,android-25,android-24,Google Inc.:Google APIs:24,android-23,android-22,android-21,android-20,android-19,android-18,android-17,android-16,android-15
Gradle: installed C:\Program Files\Android\Android Studio\gradle\gradle-3.2\bin\gradle


这些都是常见的情况了,我说一下自己今天遇到的特殊的情况。项目需求需要自定义一堆插件,然后同事A把这些插件导出一个插件包,相
a42e
当于原来的项目变成一个空壳,现在都是基于插件开发,然后我在导入这个插件包的时候再一次出现这种问题,而且连cordova自带的file插件都不能导入,不过在我之前自己写的cordova项目中是可以添加和移除这些插件的。在百度和stackoverflow找了好久,一直是以上这几种解决方案,根本不能解决我的问题。后来猜想可能是同事A的插件包导出出了问题漏了点比较特别的东西。然后再同事B上添加移除都可以完美运行。百思不得其解,便猜想可能是版本问题,仔细核对后,发现我的npm版本比他两的版本都要高。我的npm的版本是5.3.0,而他们的都是3.10.10的,然后我试着降低我的npm版本。



可以这么理解,这个插件包是同事A基于npm版本3.10.10新建的,所以可能在这个版本上运行可能会存在问题(同事们下node的时候都是用推荐版本,就我下了最新版本的,也不知道为啥这里没做到向下兼容),所以最好做到版本统一。最后完美解决这个困扰我的大问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: