Mayank Kumar
Mayank Kumar

Reputation: 313

cordova plugin not installing properly

I am facing some issue while installing plugins from cordova, as I get this error:

SyntaxError: Unexpected end of input

Command:

cordova -v

Result:

4.3.0

Command:

cordova plugin add org.apache.cordova.camera

Result:

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)

Command:

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

Result:

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)

It seems something get changed within my project files because same plugin are adding correctly without any error in new project. But I really don't get what has changed.

Upvotes: 3

Views: 1180

Answers (3)

SuprMan
SuprMan

Reputation: 380

This question is old but since the problem still occurs and this question shows up for it, I thought I would add:

After checking that my fetch.json was not corrupted and updating NPM and Node as suggested here, I found that adding plugins via their github url instead of their npm name avoided this error.

Upvotes: 0

Adam Maloney
Adam Maloney

Reputation: 537

I had a corrupted fetch.json too. I ran it through jsonlint.com and found the missing comma right away.

Upvotes: 3

Bruno
Bruno

Reputation: 4507

it's been a while now, but I've just fixed this on my project by reverting the changes on the fetch.json file which got corrupted after a merging.

Upvotes: 1

Related Questions