Sébastien Tour created CB-9125:
----------------------------------

             Summary: Cordova prepare fails when two plugins have the same 
dependency
                 Key: CB-9125
                 URL: https://issues.apache.org/jira/browse/CB-9125
             Project: Apache Cordova
          Issue Type: Bug
          Components: CLI
            Reporter: Sébastien Tour
            Priority: Minor


CLI version: 5.0.0
OS: Max OS X Yosemite

In my `config.xml`I have the following:

```
...
<engine name="android" spec="^4.0.0" />
...
<plugin name="cordova-plugin-file-transfer" spec="^1.1.0" />
<plugin name="cordova-plugin-media" spec="^1.0.0" />
...
```

With git, i ignore `platforms/` and `plugins/` so that when I clone the repo, I 
just use `cordova prepare` and it installs the android platform and plugins.

But when `cordova prepare` installs plugins, I get this error:

```
Installing "cordova-plugin-file-transfer" for android
Installing "cordova-plugin-media" for android
Fetching plugin "cordova-plugin-file" via npm
Fetching plugin "cordova-plugin-file" via npm
Installing "cordova-plugin-file" for android
Installing "cordova-plugin-file" for android
Error during processing of action! Attempting to revert...
Failed to install 'cordova-plugin-file':Error: Uh oh!
"/Users/ubidev/Projects/R2A-Client/Mobile/platforms/android/src/org/apache/cordova/file/EncodingException.java"
 already exists!
    at Object.module.exports.common.copyNewFile 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/platforms/common.js:67:19)
    at Object.module.exports.source-file.install 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/platforms/android.js:78:20)
    at installWrapper 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/platforms/platforms.js:76:32)
    at Object.ActionStack.process 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/util/action-stack.js:68:25)
    at handleInstall 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:543:20)
    at 
/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:335:28
    at _fulfilled 
(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done 
(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30)
    at Promise.promise.promiseDispatch 
(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:749:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:509:49
Failed to install 'cordova-plugin-file-transfer':Error: Uh oh!
"/Users/ubidev/Projects/R2A-Client/Mobile/platforms/android/src/org/apache/cordova/file/EncodingException.java"
 already exists!
    at Object.module.exports.common.copyNewFile 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/platforms/common.js:67:19)
    at Object.module.exports.source-file.install 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/platforms/android.js:78:20)
    at installWrapper 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/platforms/platforms.js:76:32)
    at Object.ActionStack.process 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/util/action-stack.js:68:25)
    at handleInstall 
(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:543:20)
    at 
/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:335:28
    at _fulfilled 
(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done 
(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30)
    at Promise.promise.promiseDispatch 
(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:749:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:509:49
Installing "cordova-plugin-file-transfer" for android
```

cordova-plugin-file-transfer and cordova-plugin-media both have a dependency to 
cordova-plugin-file. It seems that, as they are installed concurrently, they're 
both trying to install the cordova-plugin-file and it creates a conflict.

When I add the plugins with two seperate `cordova plugin add `commands, it 
works fine.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to