apache / cordova-fetch

Apache Cordova Fetch Library
https://cordova.apache.org/
Apache License 2.0
27 stars 27 forks source link

cordova prepare : failed to fetch plugins with github spec with npm@7 #95

Closed QuentinFarizon closed 3 years ago

QuentinFarizon commented 3 years ago

Bug Report

Problem

On my CI builds (clean every run), I run :

What is expected to happen?

With npm@6.14.11 :

Extract of the logs pertaining to plugin cordova.plugins.diagnostic :

Discovered saved plugin "cordova-plugin-file-transfer". Adding it to the project
Installing "cordova-plugin-file-transfer" for android
Plugin dependency "cordova-plugin-file@6.0.2" already fetched, using that version.
Dependent plugin "cordova-plugin-file" already installed on android.
Installing "cordova-plugin-file-transfer" for ios

What does actually happen?

With npm@7.6.0 :

Extract of the logs pertaining to plugin cordova.plugins.diagnostic :

Discovered saved plugin "cordova-plugin-file-transfer". Adding it to the project
No scripts found for hook "before_plugin_add".
Calling plugman.fetch on plugin "git+https://github.com/dpa99c/cordova-plugin-file-transfer.git"
fetch: Installing git+https://github.com/dpa99c/cordova-plugin-file-transfer.git to /Users/vagrant/git
Running command: npm install git+https://github.com/dpa99c/cordova-plugin-file-transfer.git --no-save
Command finished with error code 0: npm install,git+https://github.com/dpa99c/cordova-plugin-file-transfer.git,--no-save
Failed to restore plugin "cordova-plugin-file-transfer" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin git+https://github.com/dpa99c/cordova-plugin-file-transfer.git via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Could not determine package name from output:

Information

package.json :

  "dependencies": {
    "cordova-plugin-file-transfer": "git+https://github.com/dpa99c/cordova-plugin-file-transfer.git",
    ...
  }

I have the same issue with github dependencies with syntax : github:dpa99c/cordova-plugin-file-transfer

Command or Code

ionic cordova prepare --no-build --prod --release

Environment, Platform, Device

Version information

Stack used: Xcode 12.1.x, on macOS 10.15.6 (Catalina) ionic : 5.4.16 cordova : 9.0.0 cordova-common: 3.2.0 cordova-fetch : 2.0.1

Checklist

QuentinFarizon commented 3 years ago

Sorry this seems to be fixed with latest cordova/cordova-fetch versions

breautek commented 3 years ago

ICYMI:

Reference: https://github.com/apache/cordova-fetch/pull/91

NPM 7 issues are patched in Version 3.0.1

cordova-fetch is a subdependency of a Cordova tooling. If you have an existing Cordova install you may need to reinstall Cordova to obtain the patch:

npm uninstall cordova -g
npm install cordova -g