[英]Invalid package.json in Custom cordova plugin
我正在嘗試在cordova中開發一個自定義插件,它可以在每個指定的時間間隔內為我提供位置。 問題是我在這個插件目錄中沒有任何package.json文件。
當我嘗試將此插件添加到我們的 cordova 項目中時,我收到了Invalid package.json錯誤。
請幫助我,我是科爾多瓦的新手。 我必須做些什么來解決這個錯誤。
我正在使用此命令在項目中添加插件
cordova plugin add ../loccation_plugin/LocationPlugin/
我在將自定義插件添加到項目時遇到了同樣的問題。 我正在使用插件工具來創建自定義插件,您很可能也在使用插件工具。
如果是這種情況,則執行以下命令以生成有效的package.json
:
plugman createpackagejson "path of your plugin"
這會問你一些關於插件的基本問題,並會基於它生成 package.json 文件。
我遇到了同樣的“pkg 未定義”問題,然后我嘗試使用npm init
創建 package.json 文件並成功。
我有同樣的問題,但改用這個npm init
,按 Enter 並按照 cmd 上的要求填寫數據
我得到了同樣的錯誤。
按照這個答案中的推理,我意識到當我們嘗試從文件夾安裝cordova插件時:目標文件夾的名稱必須與插件ID相同
我在使用自定義插件時在 Windows 中遇到了同樣的問題,似乎插件的位置是問題所在(本地磁盤位置)。
例如,Cordova 項目位於E:/projects/cordova-project
並且我在 2 個不同的磁盤中有一個插件:
C:/plugins/myawesome-plugin-name
E:/plugins/myawesome-plugin-name
雖然項目和插件位於同一個磁盤,如果我從E:
磁盤安裝插件:
cordova plugin add E:/plugins/myawesome-plugin-name
將拋出異常,但如果我從 C: 磁盤安裝它:
cordova plugin add C:/plugins/myawesome-plugin-name
然后插件應該安裝成功:
請注意,插件是相同的,但在不同的文件夾和磁盤中......這很奇怪,但這為我解決了問題。
在cygwin 中運行此命令后出現此錯誤。 我的解決方案是從cmd運行 cordova 命令。 與有關此錯誤的其他帖子一樣,插件路徑存在問題。
我通過使用 Plugman 實用程序生成 package.json 文件解決了這個問題,我還必須將我的插件從我的 Cordova 項目中的子目錄移動到我的 Cordova 項目的根目錄。
換句話說,我將插件從:
my-cordova-project/extras/plugins
到:
my-cordova-project
使用plugman安裝插件,而不是科爾多瓦例如我的插件
hello-plugin
現在我在 hello-plugin 的父文件夾中
plugman install --platform android --project platforms/android --plugin ./hello-plugin
您可以將android更改為您要安裝的其他平台,例如ios
如果安裝成功,您將在以下位置找到您的插件
<project-name>\platforms\android\cordova\plugins
為了更清楚
我在 Windows 中制作了一個批處理文件,以明確創建插件以使用plugman安裝插件。 你可以復制下面的代碼,放到anyname.bat中(放到你的“project-folder/”中)你可以根據自己的需要修改代碼。 下面的代碼,我只修復了 Android 的命令
@echo off
SET/P pluginName=Please input plugin name:
call plugman create --name %pluginName% --plugin_id %pluginName% --plugin_version 1.0.0
call cd %pluginName%
call plugman platform add - -platform_name android
call plugman createpackagejson .
call cd ..
call plugman install --platform android --project platforms/android --plugin ./%pluginName%
參考https://cordova.apache.org/docs/en/latest/plugin_ref/plugman.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.