You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Mark Veenstra (JIRA)" <ji...@apache.org> on 2017/10/27 12:52:00 UTC

[jira] [Created] (CB-13503) Problems with using plugins from local file system

Mark Veenstra created CB-13503:
----------------------------------

             Summary: Problems with using plugins from local file system
                 Key: CB-13503
                 URL: https://issues.apache.org/jira/browse/CB-13503
             Project: Apache Cordova
          Issue Type: Bug
          Components: AllPlatforms, cordova-fetch
    Affects Versions: cordova@7.1.0
            Reporter: Mark Veenstra
            Priority: Blocker


I am struggling to get up and running with {{cordova@7.1.0}} sometime now. Maybe I am doing something wrong here but I can't figure it out. It seems to me something is going wrong with locally defined plugins that needs to be installed and the way it is saved into {{package.json}}.

So to get upgraded I first installed the latest version {{npm install -g cordova@7.1.0}}. Then I did a {{cordova prepare}}.
This {{prepare}} failed, after [some digging and trying](https://github.com/dpa99c/cordova-diagnostic-plugin/issues/245) it seemed that some locally plugins that needs to be installed into the project are interrupting other plugins. So I needed to disable the {{cordova-fetch}}. I set this globally with {{cordova config set fetch false}}.

After this config change the {{codova prepare}} command went all fine. So I thought this is it.
But when I tried to let my project be build by my CI server it failed on installating NPM packages.

Because a {{npm install}} command will install the dependencies defined in {{package.json}} it will install the cordova plugins also. But in the beginning my plugins are in there like this:

{code:json}
{
  "name": "myApp",
  "version": "1.0.0",
  "description": "myApp description",
  "dependencies": {
    "cordova-android": "6.3.0",
    "cordova-browser": "5.0.1",
    "cordova-ios": "4.5.2",
    "cordova-plugin-myplugin": "resources/cordova-plugin-myplugin",
    "cordova-plugin-myplugin-locker": "resources/cordova-plugin-myplugin-locker"
  },
  "devDependencies": {
  },
  "scripts": {
  },
  "cordova": {
    "platforms": [
      "browser",
      "android",
      "ios"
    ],
    "plugins": {
      "cordova-plugin-myplugin": {},
      "cordova-plugin-myplugin-locker": {}
    }
  }
}
{code}

With above {{npm install}} fails and tries to get the dependecies from git, which is incorrect. So I search the {{package.json}} definition and they say I should put {{file:}} in front of it, like this:

{code:json}
{
  "name": "myApp",
  "version": "1.0.0",
  "description": "myApp description",
  "dependencies": {
    "cordova-android": "6.3.0",
    "cordova-browser": "5.0.1",
    "cordova-ios": "4.5.2",
    "cordova-plugin-myplugin": "file:resources/cordova-plugin-myplugin",
    "cordova-plugin-myplugin-locker": "file:resources/cordova-plugin-myplugin-locker"
  },
  "devDependencies": {
  },
  "scripts": {
  },
  "cordova": {
    "platforms": [
      "browser",
      "android",
      "ios"
    ],
    "plugins": {
      "cordova-plugin-myplugin": {},
      "cordova-plugin-myplugin-locker": {}
    }
  }
}
{code}

Now NPM finds the dependecies OK, but now when I do a {{cordova prepare}} again it throws an error that the plugin can't be installed from {{file:resources/cordova-plugin-myplugin}}.

So I get stuck into different needs for different tools. Any ideas?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org