簡體   English   中英

自定義cordova插件中無效的package.json

[英]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

然后插件應該安裝成功:

Cordova 插件錯誤:無效的 package.json

請注意,插件是相同的,但在不同的文件夾和磁盤中......這很奇怪,但這為我解決了問題。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM