Pas de chemin absolu vers le module installé

je suis avec un problème que je crois que c'est quelque chose lié à mon paquet.json ou la version de la plateforme cordova.

Lorsque j'essaie d'exécuter un ionic state restore il renvoie le résultat suivant:

Attempting to restore your Ionic application from package.json

Restoring Platforms

cordova platform add ios
cordova platform add android

Restore platforms is complete

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
Caught exception:
 undefined

Mind letting us know? 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), il renvoie l'erreur suivante:

Error: Failed to fetch plugin git+https://github.com/AubreyHewes/cordova-background-audio.git via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Failed to get absolute path to installed module

je ne comprends pas pourquoi il dit que c'est un problème de connexion, parce que ma connexion internet fonctionne très bien. Aussi L'URL du plugin est le droit aussi.

Mon environnement info:

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
Xcode version: Xcode 8.1 Build version 8B62

je tire mes cheveux pour ce problème. Avez-vous une idée de ce qui peut être la cause?

mon paquet.le contenu json:

{
  "name": "paranaiba-app",
  "version": "1.1.1",
  "description": "paranaiba-app: An Ionic project",
  "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!

25
demandé sur Gabriel Ferreira Rosalino 2017-05-08 22:56:09
la source

4 ответов

j'ai eu le même message d'erreur lors de l'ajout d'un plugin local:Error: Failed to get absolute path to installed module.

en utilisant l'option --nofetch ([email protected]) a fixé:

cordova plugin add ../my-plugin --nofetch

selon https://github.com/apache/cordova-cli/blob/master/RELEASENOTES.md : Utilisez --nofetch drapeau pour récupérer les plates-formes et les plugins en utilisant la vieille logique de recherche.

70
répondu uutecht 2017-05-17 12:02:06
la source

Edit: cette réponse est périmée. Veuillez utiliser le réponse de uutrecht à la place.


j'ai eu le même problème en ce moment. Je l'ai corrigé en déclassant cordova de v7.0.0 à v6.5.0

sudo npm i -g [email protected]

ils ont changé la façon dont ils récupèrent les plugins. https://cordova.apache.org/news/2017/05/04/cordova-7.html

11
répondu RafaelKr 2017-09-27 13:37:27
la source

--nofetch l'option a été supprimée dans la version 8.0.0 de Cordova:https://issues.apache.org/jira/browse/CB-13055

si vous avez déjà installé Cordova 8.x.x, alors vous pouvez revenir à la version 7.1.0 et ensuite utiliser le --nofetch option.

exécuter la commande suivante pour abaisser Cordova à 7.1.0:

npm install -g [email protected]

si la commande ci-dessus ne fonctionne pas, essayez d'abord de désinstaller cordova, puis installez la version cordova 7.1.0:

npm uninstall -g cordova
npm install -g [email protected]

puis, vérifiez la version Cordova pour vérifier si elle est déclassée ou non:

cordova --version
3
répondu Mukesh Chapagain 2018-04-27 16:47:57
la source

supprimer le plugin, que vous avez installé depuis local, de la configuration.xml, le package.json et le package-lock.json.

Puis essayez à nouveau. Je travaille pour la plupart des cas.

{
    "name": "io.cordova.hellocordova",
    "version": "1.0.0",
    "displayName": "HelloCordova",
    "cordova": {
        "platforms": [
            "android"
        ],
        "plugins": {
            "cordova-plugin-whitelist": {},
            "com-example-plugin": {}
        }
    },
    "dependencies": {
        "cordova-android": "^6.2.3",
        "cordova-plugin-template": "file:../cordova-testplugin",  // <-- remove this line
        "cordova-plugin-whitelist": "^1.3.2"
    }
}
1
répondu wf9a5m75 2017-08-31 03:16:00
la source

Autres questions sur