remove - Actualiza cordova: ya no puedes instalar plugins desde git urls
install cordova ionic (10)
Hice una actualización de cordova / phonegap y ahora no puedo instalar plugins desde git urls. ¿Alguien experimentó tal problema y ya resolvió esto?
$ cordova plugin add https://github.com/dawsonloudon/VideoPlayer.git
Fetching plugin "https://github.com/dawsonloudon/VideoPlayer.git" via git clone
Repository "https://github.com/dawsonloudon/VideoPlayer.git" checked out to git ref "master".
shell.js: internal error
Error: EXDEV, cross-device link not permitted ''/var/folders/xl/bkl76rm570gfsmjspfjgh45h0000gn/T/git/1434106220728/LICENSE''
at Object.fs.renameSync (fs.js:554:18)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js:77:8
at Array.forEach (native)
at Object._mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js:53:11)
at Object.mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/common.js:186:23)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/util/plugins.js:53:19
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:557:44
Información de la versión:
$ phonegap -v
5.0.0-0.28.1
$ cordova -v
5.1.1
OSX 10.10.3
EDITAR: Parece que funciona si muevo mi repositorio a mi directorio de inicio (~ /).
Cordova 5.1.1 tiene un error que puede hacer que los complementos instalados desde un repositorio de Git fallen con el error "Error: EXDEV, enlace entre dispositivos no permitido" si el proyecto está en una unidad diferente a su carpeta temporal.
Puede agregar complementos desde npm. O bien, si debe agregar una versión de Git del complemento, en su lugar puede descargar una copia, descomprimirla y agregar el complemento desde el sistema de archivos colocándolo en el config.xml y especificando la ruta del directorio en "especificación": https://cordova.apache.org/docs/en/latest/config_ref/index.html#plugin
El problema proviene de node.js fs.rename()
que no puede cambiar el nombre de los archivos de dispositivos cruzados.
Una posible solución es reemplazar fs.renameSync()
con algo más en cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js
P.ej:
var run=require(''sync-runner'');
...
run("mv ''"+src+"'' ''"+thisDest+"''");
Este problema se corrigió en la última versión de cordova (5.2.0).
Actualiza Cordova usando npm install -g cordova
Para ampliar otras excelentes respuestas proporcionadas aquí,
Como una solución temporal, aquí hay una línea que degradará a Cordova, instalará el complemento y actualizará Cordova:
npm install -g [email protected] && cordova plugin add [plugin url] && npm install -g cordova
Tomará algo de tiempo para ejecutarse, pero elimina todo el trabajo de clonación repo manual.
Para cualquier persona que tenga el mismo problema con cordova versión 7.0.1 o posterior, resuelva el problema incluyendo un archivo package.json en el directorio base de mi proyecto y asegurándose de que la versión en el archivo package.json sea del patrón XXX ejemplo 1.0.0 de lo contrario lo haría obtener un error de versión no válida.
Tuve el mismo problema con Cordova en Windows 7. Tuve que retroceder a 5.0.0 (npm install -g [email protected]) para que funcione nuevamente.
Tuve el mismo problema y lo resolví siguiendo los consejos de AMilassin (volviendo a Cordova Version 5.0). Otro problema que tuve fue que mi ruta de instalación de Git (C: / Program Files / Git / bin) no se agregó a las variables de entorno. Una vez que solucioné ambos problemas, pude instalar los complementos que necesitaba.
Tuve la misma situación contigo. y resvole este problema, necesito retirar el cordova a 5.0.0
Una solución rápida es clonar el git localmente y proporcionar la ruta desde allí. Para que un complemento empiece a funcionar, todo lo que necesita es ver el archivo plugin.xml
Así que el cordova plugin add https://github.com/phonegap/phonegap-plugin-fast-canvas.git
- falla porque
shell.js: internal error Error: EXDEV, cross-device link not permitted ''/
- error normal en Cordova 5.1.0+. Se aplica a la mayoría si no a todas las instalaciones .git
Local clone :: git clone https://github.com/phonegap/phonegap-plugin-fast-canvas.git
Y local instala el cordova plugin add /path/to/phonegap-plugin-fast-canvas
Trabajos.
sudo npm install -g [email protected]
sudo cordova plugin add https://github.com/litehelpers/Cordova-sqlite-storage.git