Cordova Ошибка: не удалось получить плагин npm, так как не удалось найти package.json в пакете, который вы пытаетесь установить

В последние дни многие разработчики Cordova, которые обновили платформу Cordova в Node.js до версии 7.0.1, сталкиваются с любопытным исключением, когда устанавливают плагины, которые не так свежи и не обновлялись в течение нескольких месяцев. :

Error: Failed to fetch plugin https://url-of-plugin-repository.git via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: cmd: Command failed with exit code 4294963228 Error output:
npm ERR! addLocal Could not install C:\Users\username\AppData\Local\Temp\npm-9904-d274866c\git-cache-756b062e\1e132d0a7a8dfd323b59c6b6edf6c4e142d3ee98
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "https://url-of-plugin-repository.git" "--save"
npm ERR! node v7.7.1
npm ERR! npm  v4.1.2
npm ERR! code EISDIR
npm ERR! errno -4068
npm ERR! syscall read
npm ERR! eisdir EISDIR: illegal operation on a directory, read
npm ERR! eisdir This is most likely not a problem with npm itself
npm ERR! eisdir and is related to npm not being able to find a package.json in
npm ERR! eisdir a package you are trying to install.
npm ERR! Please include the following file with any support request:
npm ERR!     c:\xampp\htdocs\cordova\hello\node_modules\npm-debug.log

Как показывает проблема, ясно, что проблема связана с package.json файл, который никогда не существовал в старых плагинах и поэтому вызывает эту проблему сейчас. Кроме того, эта проблема часто возникает с плагинами, которые устанавливаются через URL-адрес его репозитория git, например https://github.com/ourcodeworld/cordova-ourcodeworld-filebrowser.git, Это достигается с помощью cordova-fetch, модуля, используемого для извлечения модулей из npm и gitURL. Извлекает модули через npm install. Он также может удалять модули npm из проекта.

Решение

С этой ошибкой вы можете оказаться в 2 разных точках зрения:

  • Вы владелец плагина.
  • Вы пытаетесь установить сторонний плагин.

A. Вы являетесь владельцем плагина

Если вы являетесь владельцем плагина, и кто-то сообщает, что он не может установить ваш плагин с помощью cordova add plugin URL команда, вам нужно будет создать новый package.json файл в корневой папке вашего плагина. Если вы не знакомы с NPM, вам следует Подробнее о файле пакета читайте в официальной документации здесь.

Чтобы создать новый файл пакета для вашего плагина, вы, очевидно, будете использовать Node.js в командной строке и выполнить следующую команду (однажды расположенную с терминалом в папке вашего плагина):

npm init

Эта команда запустит интерактивную подсказку (которую вы можете просто пропустить, нажав Enter на каждый вопрос), которая позволит вам создать файл package.json. Очевидно, что хотя это и не обязательно, вы должны правильно предоставить всю информацию. package.json Файл, расположенный в корневой папке плагина, будет выглядеть следующим образом:

{
"name": "cordova-ourcodeworld-filebrowser",
"version": "1.0.0",
"description": "Some description of what your plugin does",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/username/plugin-repository.git"
},
"keywords": [],
"author": "Author Name",
"license": "MIT",
"bugs": {
"url": "https://github.com/username/plugin-repository/issues"
},
"homepage": "https://github.com/username/plugin-repository#readme"
}

Информация, очевидно, должна быть изменена в соответствии с правильной информацией вашего / плагина.

B. Если это сторонний плагин

Если вы не являетесь владельцем плагина и пытаетесь установить потрясающий плагин, который вы только что нашли на Github, вам следует рекомендовать, чтобы владелец плагина создал этот файл как можно скорее, чтобы предотвратить это. ошибка появления на будущих установках. Если плагин больше не поддерживается, вы можете скачать плагин с помощью git, создать этот файл самостоятельно и, наконец, установить плагин из локального источника.

1. Скачать исходный код репозитория

Если плагин размещен на Github, вы можете клонировать его в локальную папку на вашем компьютере, используя git e.g (в этом примере он будет клонирован в C:/Users/Me/Desktop):

git clone https://github.com/ourcodeworld/cordova-ourcodeworld-filebrowser.git

В каталоге клонов теперь должна быть (после завершения) новая папка с именем репозитория клонов.

2. Создайте файл package.json

Следуйте инструкциям опции A (вы являетесь владельцем плагина), чтобы создать package.json файл.

3. Установите его из локального источника

В качестве последнего шага вы можете установить плагин из клонированного репозитория, но вместо предоставления URL-адреса git укажите локальный путь к плагину:

REM Navigate to the folder of your cordova project with the terminal
cd FolderOfYourCordovaProject
REM install the plugin from the local source
cordova plugin add C:/Users/Me/Desktop/cordova-ourcodeworld-filebrowser
Ссылка на основную публикацию
Adblock
detector