Je rencontre un problème que je pense être lié à mon fichier package.json ou à la version de la plateforme Cordova.
Lorsque j'essaie d'exécuter un ionic state restore
, voici la sortie obtenue :
Attempting to restore your Ionic application from package.json
Restoring Platforms
cordova platform add ios
cordova platform add android
La restauration des plateformes est terminée
Restoring Plugins
cordova plugin add cordova-plugin-whitelist
cordova plugin add cordova-plugin-console
cordova plugin add cordova-plugin-statusbar
cordova plugin add cordova-plugin-device
cordova plugin add cordova-plugin-splashscreen
cordova plugin add ionic-plugin-keyboard
cordova plugin add cordova-plugin-network-information
cordova plugin add cordova-plugin-file
cordova plugin add cordova-plugin-compat
cordova plugin add cordova-plugin-media
cordova plugin add https://github.com/AubreyHewes/cordova-background-audio.git
Une exception a été interceptée :
undefined
Pouvez-vous nous en informer ? https://github.com/driftyco/ionic-cli/issues
Et lorsque j'essaie d'exécuter la commande qui a échoué (cordova plugin add https://github.com/AubreyHewes/cordova-background-audio.git
), voici l'erreur obtenue :
Erreur : Échec de récupération du plugin git+https://github.com/AubreyHewes/cordova-background-audio.git via le registre.
Il s'agit probablement d'un problème de connexion, ou la spécification du plugin est incorrecte.
Vérifiez votre connexion et le nom/version/URL du plugin.
Échec de l'obtention du chemin absolu du module installé
Je ne comprends pas pourquoi il mentionne un problème de connexion, car ma connexion internet fonctionne parfaitement. De plus, l'URL du plugin est correcte.
Informations sur mon environnement :
Cordova CLI : 7.0.0
Ionic CLI Version : 2.2.3
Ionic App Lib Version : 2.2.1
ios-deploy version : 1.9.0
ios-sim version : 5.0.10
OS : OS X El Capitan
Node Version : v7.0.0
Version de Xcode : Xcode 8.1 Version de build 8B62
Je m'arrache les cheveux à cause de ce problème. Avez-vous une idée de ce qui pourrait en être la cause ?
Le contenu de mon fichier package.json :
{
"name": "paranaiba-app",
"version": "1.1.1",
"description": "paranaiba-app: Un projet Ionic",
"dependencies": {
"cordova-android": "^6.2.3",
"cordova-ios": "^4.4.0",
"cordova-plugin-compat": "~1.1.0",
"cordova-plugin-console": "~1.0.6",
"cordova-plugin-device": "~1.1.5",
"cordova-plugin-file": "~4.3.2",
"cordova-plugin-media": "~2.4.1",
"cordova-plugin-music-controls": "git+https://github.com/homerours/cordova-music-controls-plugin.git",
"cordova-plugin-network-information": "~1.3.2",
"cordova-plugin-splashscreen": "~4.0.2",
"cordova-plugin-statusbar": "~2.2.2",
"cordova-plugin-whitelist": "~1.3.2",
"gulp": "^3.5.6",
"gulp-concat": "^2.2.0",
"gulp-minify-css": "^0.3.0",
"gulp-rename": "^1.2.0",
"gulp-sass": "^2.0.4",
"ionic-plugin-keyboard": "~2.2.1",
"nl.kingsquare.cordova.background-audio": "git+https://github.com/AubreyHewes/cordova-background-audio.git",
"phonegap-plugin-push": "~1.8.4"
},
"devDependencies": {
"bower": "^1.3.3",
"gulp-util": "^2.2.14",
"shelljs": "^0.3.0"
},
"cordovaPlugins": [
"cordova-plugin-whitelist",
"cordova-plugin-console",
"cordova-plugin-statusbar",
"cordova-plugin-device",
"cordova-plugin-splashscreen",
"ionic-plugin-keyboard",
"cordova-plugin-network-information",
"cordova-plugin-file",
"cordova-plugin-compat",
"cordova-plugin-media",
{
"locator": "https://github.com/AubreyHewes/cordova-background-audio.git",
"id": "nl.kingsquare.cordova.background-audio"
},
{
"locator": "https://github.com/homerours/cordova-music-controls-plugin",
"id": "cordova-plugin-music-controls"
}
],
"cordovaPlatforms": [
{
"platform": "ios",
"version": "",
"locator": "ios"
},
{
"platform": "android",
"version": "",
"locator": "android"
}
],
"cordova": {
"platforms": [
"android",
"ios"
],
"plugins": {
"phonegap-plugin-push": {
"SENDER_ID": "XXXX"
},
"cordova-plugin-whitelist": {},
"cordova-plugin-console": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"ionic-plugin-keyboard": {},
"cordova-plugin-network-information": {},
"cordova-plugin-file": {},
"cordova-plugin-compat": {},
"cordova-plugin-media": {},
"nl.kingsquare.cordova.background-audio": {},
"cordova-plugin-music-controls": {}
}
}
}
Merci !
0 votes
Êtes-vous capable d'ajouter ce plugin sur l'application pure Cordova pour vérifier s'il s'agit d'un problème de Cordova ou de votre application? Il y a eu quelques changements dans la logique de récupération de données dans Cordova-7.0, cela affecte probablement votre application.
0 votes
@Bob l'a essayé tout de suite, et cela a très bien fonctionné :
Informations du plugin "nl.kingsquare.cordova.background-audio" enregistrées dans config.xml
. Merci pour votre temps!3 votes
Essayez de supprimer ce plugin manuellement du dossier node_modules de votre application Ionic et réinstallez ce plugin à nouveau,
2 votes
Cordova trouve la différence entre les fichiers avant et après l'installation du plugin dans node_modules, s'il n'y a pas de différence et git repoName est différent de moduleID, cela peut conduire à une erreur que vous recevez.
0 votes
@Bob merci beaucoup, ça a très bien fonctionné en supprimant le plugin de
node_modules/
et en le réinstallant.1 votes
Mon plaisir, mais de toute façon, c'est un bug dans cordova-7.0, je ferai une contribution pour le corriger :)
0 votes
@Bob même si je l'ai réinstallé, quand j'essaie d'exécuter le
ionic state restore
il continue de renvoyer une erreur lors de la restauration de ce plugin :Caught exception: undefined
(même erreur sur le bloc de code mentionné dans la description du problème ci-dessus). Avez-vous une idée de ce qui pourrait causer cela ?0 votes
Essayer de supprimer le plugin de node_modules et exécuter
ionic state restore
0 votes
@Bob a bien fonctionné. Mais j'ai dû supprimer de
node_modules
tous les plugins qui utilisent git pour les restaurer. Merci.