Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'--searchpath' not working properly on Cordova 10.0 #539

Open
3 tasks done
hugolden opened this issue Nov 16, 2020 · 12 comments
Open
3 tasks done

'--searchpath' not working properly on Cordova 10.0 #539

hugolden opened this issue Nov 16, 2020 · 12 comments
Labels

Comments

@hugolden
Copy link

hugolden commented Nov 16, 2020

Problem

I am trying to adapting our product with Cordova CLI 10. After upgrading to CLI 10.0, when adding plugin in cordova project using '--searchpath' parameter, query on registry will be hit before on local search path

What is expected to happen?

'--searchpath' should help the command query the folder I set before querying on the registry

What does actually happen?

'--searchpath' is hitting registry before local folder. This is not consistent with the definition of this parameter

Information

Here is the command history

I hid the registry name, plugin name and version for business reason

cordova plugin add <my plugin>@<my version> --searchpath /Users/*****/Documents/SDK/plugins
Installing "<my plugin>" for android
Failed to install '<my plugin>': CordovaError: Failed to fetch plugin @<my registry>/<my dependency>@<my version> via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
CordovaError: Error: npm: Command failed with exit code 1 Error output:
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@%2f - Not found
npm ERR! 404
npm ERR! 404 '@<my registry>/<my dependency>@<my version> ' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

Environment, Platform, Device

MacOS 10.15.7
npm v6.14.7
node v14.4.0

Version information

Cordova CLI 10.0.0

Checklist

  • I searched for existing GitHub issues
  • I updated all Cordova tooling to most recent version
  • I included all the necessary information above
@breautek
Copy link
Contributor

In my testing it appears --searchpath works for non-scoped package names, but does not with scoped packages. Do you observe the same behaviour?

@ath0mas
Copy link

ath0mas commented Feb 20, 2021

Using --searchpath fine here too, with non-scoped packages.

Common mistake is to call cordova plugin add with directory name instead of plugin id.
@hugolden Is the scoping really part of your plugin id in plugin.xml?

@hugolden
Copy link
Author

hugolden commented Apr 21, 2021

@ath0mas Yes indeed. I am using scope on my package names. Is scoping deprecated? Are you meaning that scoping has a higher priority than searchpath parameter?

@hugolden
Copy link
Author

@breautek Thank you for you reply. I am using scoping for my plugins.

@hugolden
Copy link
Author

hugolden commented Apr 23, 2021

Hey guys,

I found scoping can cause many issues.

I defined the dependency of my plugin with id= "@foo/ my-plugin-bar.

When adding the plugin, the dependency plugin can be fetched correctly, while cordova CLI will raise error: Expected plugin to have ID "@foo/my-plugin-bar" but got "my-plugin-bar"

I found that the target plugin was fetched to the foo folder under plugin folder while the dependency plugin is under the plugin folder NOT the foo folder.

I believe this is causing the failure on looking up for the dependency.

Is it a bug?

@ChrisDev88
Copy link

I have the same issue. Is there a solution for this?

@hugolden
Copy link
Author

@breautek I have ever tried to add scope to plugin and the searchpath paramter works as expected in this way. However altering id will cause javascript source locating under /plugins//... I don't want to modify the source code to workaround this issue.

Is there any plan to fix this regression? Actually it works quite good on cordova 9

@breautek
Copy link
Contributor

I haven't had a chance to look into a solution, or even the cause but a workaround could be either cordova plugin add <the actual path to the plugin> or, npm pack the plugin and install cordova plugin add the-tgz-file.tgz

@breautek breautek added the bug label Sep 13, 2021
@hugolden
Copy link
Author

I haven't had a chance to look into a solution, or even the cause but a workaround could be either cordova plugin add <the actual path to the plugin> or, npm pack the plugin and install cordova plugin add the-tgz-file.tgz

Once their is registry in dependency of this plugin, this would not work

@cgerold
Copy link

cgerold commented Jan 13, 2022

Same issue here. Any update on this topic?

@rajeshkumr
Copy link

It seems like Cordova version 10.0.0 still has an issue related to adding a plugin with --searchpath. You can change the version of your Cordova CLI to 9.0.0 and it should work fine.

@whilename
Copy link

This problem also exists in CLI version 11.1.0 of Cordova. When the plug-in that the added plug-in depends on is in the same directory, it does not search the specified --searchpath directory, but searches the dependent plug-in through the network.
Node.js related, Node.js v14 version is normal, v16~v18 issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants