Ошибка установки Phonegap (npm)

Я искал решение в течение двух дней, чтобы настроить Phonegap на моем Windows 8.1 без каких-либо успехов.

Всякий раз, когда я пытаюсь установить Phonegap через npm, я получаю сообщение об ошибке, которое, я думаю, должен сделать с Кордовой (-lib).

Чтобы установить Phonegap, мне пришлось установить Node.js(v0.10.28) в мою систему. После этого я открыл Windows Powershell и выпустил следующую команду, как указано на веб-сайте Phonegap:

npm install -g phonegap

Выход: (Это единственная часть ошибки)

error notarget No compatible version found: [email protected]'lorinbeer/cordova-lib.git#configparser_module'
error notarget Valid install targets:
error notarget ["0.21.2","0.21.3"]
error notarget
error notarget This is most likely not a problem with npm itself.
error notarget In most cases you or one of your dependencies are requesting
error notarget a package version that doesn't exist.

Я также попытался установить только Кордову через npm, а затем установить Phonegap, но это ничего не решал.

Запуск Powershell с правами администратора также не помог и не пробовал решения других людей, у которых также были проблемы с настройкой Phonegap, но ничего не работает.

Я действительно надеюсь, что кто-то может помочь мне здесь.

Спасибо заранее.

Ответ 1

Вчера у меня была такая же проблема. Если вы проверите npm-debug.log, вы заметите, что есть проблема с разрешением ( "Permission denied" ), когда npm пытается получить доступ к URL-адресу репозитория cordova-lib git. На самом деле, cordova-lib - это зависимость от телефонного разговора. Таким образом, он не может установить его, и я думаю, почему вы получили эту ошибку.

Итак, я попробовал это: сначала установите кордову-lib, затем Phonegap. Тем не менее, это все равно не сработает; npm, похоже, не проверяет, установлена ​​ли кордова-lib, прежде чем пытаться это сделать. На этом этапе я могу изменить репозиторий, из которого он извлекает кордова-lib. Вот синтаксис установки NPM:

npm install <tarball file>
npm install <tarball url>
npm install <folder>
npm install <pkg>
npm install <pkg>@<tag>
npm install <pkg>@<version>
npm install <pkg>@<version range>

Это означает, что я могу установить из файла tar.gz. Большой! Итак, я просто зашел на эту страницу https://www.npmjs.org/package/phonegap, чтобы проверить репозиторий phonegap и выполнил следующие шаги:

  • Загрузите zip phonegap-cli repo (https://github.com/phonegap/phonegap-cli/archive/master.zip)
  • Разархивируйте его
  • Откройте файл package.json и найдите запись cordova-lib в зависимостях (строка 32)
  • Измените значение на 0.21.3, которое является последней версией.
  • Восстановить архив папки в формате tar.gz
  • Откройте свой CLI и запустите эту команду:

    npm install -g path/to/archive/phonegap-cli-master.tar.gz
    

Теперь он должен работать.

Надеюсь, что поможет!

Ответ 2

Загрузите более старую версию. Я думаю, что в новой была проблема.

npm install -g [email protected]

Я попробовал это и работал у меня.

Ответ 3

Сегодня у меня была аналогичная проблема и на Mac, даже после того, как Лоренцо сказал, что все должно быть хорошо. Просто выполните это:

sudo npm install -g phonegap

... произвел множество ошибок, подобных этому:

error: file ./objects/pack/pack-48c0ff4147fb7e8922546c4a857b98a1cb48e01f.pack is far too short to be a packfile

Я объединил решения Лоренцо и Арпан шаха:

sudo npm install -g [email protected]
sudo npm cache clean
sudo npm update -g phone gap

... и это, казалось, волшебным образом работало.

Ответ 4

Проблема

Мы опубликовали с зависимостью от ветки cordova-lib. Эта вилка оказывается недоступной, когда идет много запросов (я думаю). Так или иначе, это ненадежно. Изменение зависимости от 0.21.3 приведет к сбою команд, но позволит установить.

Решение

  • обновить зависимость 'cordova-lib' от опубликованной версии npm '0.21.3' ** Обратите внимание, что это позволит установить, но другие команды телефонной задержек будут терпеть неудачу.

  • подождите около 20 минут, затем обновите npm -g phonegap тестирование обновления для решения этой проблемы

дальнейшие обновления на мгновение

Обновление Мы нажали версию 3.5.0-0.20.3, которая должна решить эту проблему.

$ npm update -g phonegap

Если это не сработает, попробуйте

$ npm cache clean

и переустановите телефонную трубку

Ответ 5

Я пробовал выше comamnds npm cache clear и переустанавливал phoegap. Он загружал все библиотеки, но не скрипты командной строки (команда phonegap имела версию 3.4 в качестве версии). Я обнаружил, что лучше дать команду: npm install -g cordova (v 3.5)!