meta-package-manager

授权协议 GPL-2.0 License
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 不详
投 递 者 陶山
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Meta Package Manager

Unittests statusDocumentation status

What is Meta Package Manager?

Features

  • Inventory and list all package managers available on the system.
  • Supports macOS, Linux and Windows.
  • List installed packages.
  • Search for packages.
  • Install a package.
  • List outdated packages.
  • Sync local package infos.
  • Upgrade all outdated packages.
  • Backup list of installed packages to TOML file.
  • Restore/install list of packages from TOML files.
  • Pin-point commands to a subset of package managers (include/excludeselectors).
  • Export results in JSON or user-friendly tables.
  • Shell auto-completion for Bash, Zsh and Fish.
  • Provides a xbar plugin for friendly macOS integration.
  • Because mpm try to wrap all other package managers, it became another pathological case of XKCD #927: Standards

Supported package managers

Package manager Min. version macOS Linux Windows sync installed search install outdated upgrade cleanup
apm 1.0.0
apt 1.0.0
apt-mint 1.0.0
brew 2.7.0
cask 2.7.0
choco 0.10.4
composer 1.4.0
flatpak 1.2.0
gem 2.5.0
mas 1.6.1
npm 4.0.0
opkg 0.2.0
pip 10.0.0 ✘*
snap 2.0.0
vscode 1.60.0
yarn 1.21.0

Quickstart

  1. Install mpm with pip:

    $ pip install meta-package-manager
    

Other alternatives installation methods are available in the documentation.

Usage

List all supported package managers and their status on current system (macOS in this case):

$ mpm -a managers
┌────────────────────┬──────────┬─────────────────┬────────────────────────────┬────────────┬───────────┐
│ Package manager    │ ID       │ Supported       │ CLI                        │ Executable │ Version   │
├────────────────────┼──────────┼─────────────────┼────────────────────────────┼────────────┼───────────┤
│ Atom's apm         │ apm      │ ✓               │ ✓  /usr/local/bin/apm      │ ✓          │ ✓  2.6.2  │
│ APT                │ apt      │ ✘  Linux only   │ ✓  /usr/bin/apt            │ ✓          │ ✘         │
│ Linux Mint's apt   │ apt-mint │ ✘  Linux only   │ ✓  /usr/bin/apt            │ ✓          │ ✘         │
│ Homebrew Formulae  │ brew     │ ✓               │ ✓  /usr/local/bin/brew     │ ✓          │ ✓  3.2.15 │
│ Homebrew Cask      │ cask     │ ✓               │ ✓  /usr/local/bin/brew     │ ✓          │ ✓  3.2.15 │
│ Chocolatey         │ choco    │ ✘  Windows only │ ✘  choco not found         │            │           │
│ PHP's Composer     │ composer │ ✓               │ ✓  /usr/local/bin/composer │ ✓          │ ✓  2.1.8  │
│ Flatpak            │ flatpak  │ ✘  Linux only   │ ✘  flatpak not found       │            │           │
│ Ruby Gems          │ gem      │ ✓               │ ✓  /usr/bin/gem            │ ✓          │ ✓  3.0.3  │
│ Mac AppStore       │ mas      │ ✓               │ ✓  /usr/local/bin/mas      │ ✓          │ ✓  1.8.3  │
│ Node's npm         │ npm      │ ✓               │ ✓  /usr/local/bin/npm      │ ✓          │ ✓  7.24.0 │
│ OPKG               │ opkg     │ ✘  Linux only   │ ✘  opkg not found          │            │           │
│ Pip                │ pip      │ ✓               │ ✓  /usr/local/bin/python3  │ ✓          │ ✓  21.2.4 │
│ Snap               │ snap     │ ✘  Linux only   │ ✘  snap not found          │            │           │
│ Visual Studio Code │ vscode   │ ✓               │ ✓  /usr/local/bin/code     │ ✓          │ ✓  1.60.2 │
│ Node's yarn        │ yarn     │ ✓               │ ✘  yarn not found          │            │           │
└────────────────────┴──────────┴─────────────────┴────────────────────────────┴────────────┴───────────┘

More documentation is available in:

  • 本文记录一下我在研究Android的meta-data所得的一些收获和坑,希望大家少走弯路。 项目中集成一些第三方的API时,按其官方文档,经常需要在AndroidManifest文件中的application标签下加上meta-data配置。 比如如下友盟的配置: 一、meta-data的配置和动态获取 <application android:name=".MyAppl

  • 支持 admin 升级 Cloudera Manager Agent 软件包 Install Agents 所有主机上的安装均失败。 已成功完成 1 个主机中的 0 个。 安装失败后已在 1 主机上卸载。 主机名称 IP 地址 进度 状态 poem1 192.168.22.136 重试 | 详细信息 安装失败。 已卸载。 × 无法安装 cloudera-manager-agent 包

  • https://rocketboards.org/foswiki/Documentation/YoctoDoraBuildWithMetaAltera Introduction Yocto 2.0 Jethro Setup Repos Prepare for and configure the build Configure bblayers.conf Configure local.conf B

  • /tmp/scm_prepare_node.K0tOAFSy  using SSH_CLIENT to get the SCM hostname: 10.221.5.140 33607 22  opening logging file descriptor  正在启动安装脚本... 正在获取安装锁... BEGIN flock 4  END (0)  正在检测根权限... effective UI

  • 1、获取application中指定key的meta-data值 public static String getApplicationMetadata(Context context,String metaDataKey) { ApplicationInfo info = null; try { PackageManager pm

  • Weka 3.8 软件包管理器 出现“ There was a problem establishing the package meta data cache.We'll try to use the repository directly.”的错误信息, 在文件夹:C:\Users\Administrator\wekafiles\props 中: 新建文件PackageRepository.p

 相关资料
  • 描述 (Description) 此函数将当前符号表的名称更改为NAME。 包名称的范围是封闭块的末尾。 如果省略NAME,则没有当前包,并且必须使用其完全限定名称声明所有函数和变量名称。 语法 (Syntax) 以下是此函数的简单语法 - package NAME package 返回值 (Return Value) 此函数不返回任何值。 要了解package关键字检查Perl Modules

  • meta 模块可用于声明单个页面的元信息,通常是一些页面级别的配置,如容器的显示宽度 (viewport) 等。默认情况下,应用无需修改此配置。 setViewport Weex 容器默认的宽度 (viewport) 是 750px,通过 setViewport 方法可以改变页面的显示宽度,仅对当前页面生效。 setViewport(options) @options width,number,具

  • 此函数用于查看是否有任何元数据与对象关联。 语法 (Syntax) 以下是语法。 (meta obj) Parameters - 'obj'是需要检查的对象,如果有任何元数据与之关联。 Return Value - 返回obj的元数据,如果没有元数据则返回nil。 例子 (Example) 以下程序显示了如何使用它的示例。 (ns clojure.examples.example (:ge

  • [meta] A stack. A framework. A conversation. Meta is developed and maintained by Degree9 What is [meta]? [meta] is a stack for building software using Clojure(Script). Why [meta]? We built [meta] out

  • 节点包管理器(NPM)提供两个主要功能 - 可在search.nodejs.org上搜索的node.js包/模块的联机存储库 用于安装Node.js包的命令行实用程序,执行Node.js包的版本管理和依赖关系管理。 在v0.6.3版本之后,NPM捆绑了Node.js可安装程序。 要验证相同,请打开控制台并键入以下命令并查看结果 - $ npm --version 2.7.1 如果您运行的是旧版本

  • Tiny Package Manager A very very simple demo and guide for explaining package manager. Introduction As a JavaScript developer, you may use package manager like npm or Yarnfrequently. However, do you k