Подтвердить что ты не робот

Обновление кордовы: невозможно установить плагины из git URL-адресов

Я сделал обновление cordova/phonegap, и теперь я больше не могу устанавливать плагины из git urls. Кто-нибудь испытал такую ​​проблему и уже решил это?

$ 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

Информация о версии:

$ phonegap -v
5.0.0-0.28.1

$ cordova -v
5.1.1

OSX 10.10.3

EDIT: Кажется, что он работает, если я перемещаю свой репозиторий в свой домашний каталог (~/).

4b9b3361

Ответ 1

У меня была такая же проблема с Cordova в Windows 7. Мне пришлось откат до 5.0.0 (npm install -g [email protected]), чтобы заставить ее работать снова.

Ответ 2

Быстрое исправление заключается в клонировании git локально и пути оттуда. Чтобы плагин начал работать, все, что ему нужно, это увидеть файл plugin.xml

Итак cordova plugin add https://github.com/phonegap/phonegap-plugin-fast-canvas.git - сбой, потому что

shell.js: internal error Error: EXDEV, cross-device link not permitted '/ - нормальная ошибка в Кордове 5.1.0+. Применяется к большинству, если не все .git install

Локальный клон:: git clone https://github.com/phonegap/phonegap-plugin-fast-canvas.git

И локальная установка cordova plugin add /path/to/phonegap-plugin-fast-canvas

Works.

Ответ 3

Эта проблема исправлена ​​в последней версии кордовы (5.2.0).

Обновите Кордову, используя npm install -g cordova

Ответ 4

Чтобы расширить другие полезные ответы, приведенные здесь,

Как временный обходной путь, здесь однострочный, который понизит Кордову, установит плагин и обновит Кордову назад:

npm install -g [email protected] && cordova plugin add [plugin url] && npm install -g cordova

Потребуется некоторое время для выполнения, но исключает все операции клонирования ручного репо.

Ответ 5

У меня была такая же ситуация с тобой. и resvole эта проблема должна отбросить кордову до 5.0.0

Ответ 6

Проблема возникает из node.js fs.rename(), которая не может переименовать файлы перекрестных устройств.

Возможным обходным решением является замена fs.renameSync() чем-то еще на cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js

Например:

var run=require('sync-runner');
...
run("mv '"+src+"' '"+thisDest+"'");

Ответ 8

В Кордове 5.1.1 есть ошибка, которая может привести к тому, что плагины, установленные из репозитория Git, не с ошибкой "Ошибка: EXDEV, ссылка между устройствами не разрешена", если проект находится на другом диске, чем ваша временная папка,

Вы можете добавлять плагины из npm. Или, если вы должны добавить версию плагина Git, вы можете вместо этого загрузить копию, распаковать ее и добавить плагин из файловой системы, поместив его в файл config.xml и указав путь к каталогу в "spec",: https://cordova.apache.org/docs/en/latest/config_ref/index.html#plugin

Ответ 9

У меня была такая же проблема, и я решил ее решить, следуя советам Амилассина (откат в Кордове версии 5.0). Еще одна проблема, с которой я столкнулся, это мой путь установки Git (C:\Program Files\Git\bin) не был добавлен в переменные среды. Как только я исправил обе проблемы, мне удалось установить нужные мне плагины.

Ответ 10

Для тех, кто имеет такую ​​же проблему с кордовой версией версии 7.0.1 или новее, разрешите мою, включив файл package.json в базовый каталог проекта и убедитесь, что версия в файле package.json имеет шаблон XXX example 1.0.0 иначе вы получите недопустимую ошибку версии.