cordova 插件未正确安装

问题描述 投票:0回答:3

我在从 cordova 安装插件时遇到一些问题,因为我收到此错误:

SyntaxError: Unexpected end of input

命令:

cordova -v

结果:

4.3.0

命令:

cordova plugin add org.apache.cordova.camera

结果:

Fetching plugin "org.apache.cordova.camera" via plugin registry 
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at getJson (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\util\metadata.js:29:31)
    at Object.exports.save_fetch_metadata (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\util\metadata .js:56:24)
    at C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\fetch.js:148:18
    at _fulfilled (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:787:54)
    at self.promiseDispatch.done (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:816:30)
    at Promise.promise.promiseDispatch (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:749:13)
    at C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:557:44
    at flush (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:108:17)
    at process._tickCallback (node.js:419:13)

命令:

cordova plugin add https://github.com/phonegap-build/PushPlugin.git

结果:

Fetching plugin "https://github.com/phonegap-build/PushPlugin.git" via git clone 
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at getJson (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\util\metadata.js:29:31)
    at Object.exports.save_fetch_metadata (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\util\metadata .js:56:24)
    at C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\fetch.js:148:18
    at _fulfilled (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:787:54)
    at self.promiseDispatch.done (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:816:30)
    at Promise.promise.promiseDispatch (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:749:13)
    at C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:557:44
    at flush (C:\Users\Mayank\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:108:17)
    at process._tickCallback (node.js:419:13)

我的项目文件中似乎发生了一些变化,因为相同的插件正确添加,在新项目中没有任何错误。但我真的不明白发生了什么变化。

cordova phonegap-plugins cordova-plugins
3个回答
3
投票

我的 fetch.json 也已损坏。我通过 jsonlint.com 运行它并立即找到了丢失的逗号。


1
投票

已经有一段时间了,但我刚刚通过恢复合并后损坏的 fetch.json 文件上的更改来修复了我的项目。


0
投票

这个问题很旧,但由于问题仍然存在并且这个问题出现了,我想我会添加:

检查我的 fetch.json 没有损坏并按照此处的建议更新 NPM 和 Node 后,我发现通过 github url 而不是 npm 名称添加插件可以避免此错误。

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