Skip to content

Cordova - Plugman

Cordova - Plugman 命令行工具 (Command-Line Tool)

Section titled “Cordova - Plugman 命令行工具 (Command-Line Tool)”

Plugman 是一个用于安装和管理 Cordova 插件的命令行工具,主要基于每个平台进行操作。虽然大多数应用开发者会使用 Cordova CLI(cordova plugin add/remove ...)来处理所有项目平台上的插件,但 Plugman 对于插件开发者或对特定平台的原生项目中的插件进行更精细控制时会很有用。

  • Cordova CLI (cordova plugin …):这是应用开发者管理插件的推荐方式。它在 Cordova 项目级别工作,自动处理所有已添加平台的插件安装/卸载,并更新必要的配置文件(如 config.xml 和 package.json)。
  • Plugman:更适用于:
    • 插件开发者 (Plugin Developers):在开发过程中测试和管理他们的插件。
    • 特定平台修改:如果您需要在现有 Cordova 项目中仅为某个平台安装插件,或者您直接在平台的原生项目结构中工作(例如,Cordova 生成的 Android Studio 项目)。
    • 自动化脚本:用于需要精细插件管理的自定义构建 (build) 或集成脚本。

通常,如果您正在构建跨平台的 Cordova 应用,请坚持使用 Cordova CLI 来管理插件,以确保一致性。

Plugman 是一个 Node.js 包,可以使用 npm (Node Package Manager) 全局安装。打开您的终端或命令提示符:

npm install -g plugman

验证安装:

plugman -v

要使用 Plugman 安装插件,您需要指定平台 (platform),平台项目的路径 (path),以及要安装的插件(可以是 npm 上的名称,可以是 git 仓库的 URL,或本地插件目录的路径)。

语法:

plugman install --platform <platform> --project <project_path> --plugin <plugin_id_or_path>

参数:

  • —platform: 目标平台(例如 android, ios, browser)。
  • —project: 原生平台项目根目录的路径(例如 Cordova 项目中的 ./platforms/android 或 ./platforms/ios)。
  • —plugin: 插件标识符(例如 npm 上的 cordova-plugin-device),一个 Git URL,或插件目录的本地路径。

假设您有一个已添加 Android 平台的 Cordova 项目,导航到您的 Cordova 项目根目录并运行:

# Ensure you are in your Cordova project's root directory
# 确保您在 Cordova 项目的根目录中
# Example: MyCordovaApp/
# 示例:MyCordovaApp/
plugman install --platform android --project ./platforms/android --plugin cordova-plugin-device

如果成功,Plugman 会将插件的原生代码添加到 Android 项目,并更新 platforms/android 目录中的相关配置文件。

类似地,您可以按平台卸载插件。

语法:

plugman uninstall --platform <platform> --project <project_path> --plugin <plugin_id>
# Ensure you are in your Cordova project's root directory
# 确保您在 Cordova 项目的根目录中
plugman uninstall --platform android --project ./platforms/android --plugin cordova-plugin-device

Plugman 提供了其他几个用于插件管理和开发的命令:

命令 (Command)描述 (Description)
plugman fetch —plugin <plugin_id_or_path> —destination 获取插件的源代码并将其复制到指定的本地目录。
plugman create —name —plugin_id —plugin_version [—path ]帮助搭建一个新的 Cordova 插件结构 (scaffold)。
plugman platform add —platform_name (在插件目录内使用)向插件项目添加特定于平台的代码支持。
plugman platform remove —platform_name (在插件目录内使用)从插件项目中移除特定于平台的代码支持。
plugman createpackagejson <plugin_path>根据现有插件的 plugin.xml 生成一个 package.json 文件。
plugman search [keyword2…]在插件注册表(默认为 npm)中搜索匹配关键字的插件。
plugman publish <plugin_path>将给定路径中的插件发布到插件注册表(npm)。
plugman unpublish [—force] <plugin_id>[@]从注册表中取消发布插件版本。
plugman owner add <plugin_id> / plugman owner rm <plugin_id> / plugman owner ls <plugin_id>管理插件在注册表上的所有权。
plugman adduser / plugman login向插件注册表进行身份验证。
plugman config set / plugman config get / plugman config delete 管理 Plugman 配置,例如注册表 URL。
plugman help [command] or plugman -h [command]显示 Plugman 或特定命令的帮助信息。
  • 项目同步 (Project Synchronization):如果您使用 Plugman 修改平台目录(例如 platforms/android)中的插件,这些更改可能不会反映在您的主 Cordova 项目的 config.xml 或 package.json 中。如果您稍后运行 cordova prepare 或 cordova platform rm/add,这可能导致不一致,因为 Cordova CLI 依赖于这些顶层配置。通常更安全的方式是让 Cordova CLI 管理 platforms 目录。
  • 插件依赖性 (Plugin Dependencies):Plugman 本身可能不像 cordova plugin add 那样自动处理复杂的插件依赖性(后者会使用 npm 来解决)。
  • 使用场景 (Use Cases):Plugman 的优势在于它作为更底层工具的角色。对于插件作者来说,它对于创建、测试和发布插件是无价的。对于应用开发者来说,Cordova CLI 通常是管理项目中插件的更直接和更安全的选择。

对于大多数 Cordova 应用开发,依赖 cordova plugin add <plugin_name> 和 cordova plugin rm <plugin_name> 是推荐的方法,以便跨多个平台轻松使用并保持项目一致性。