一个PHP命令行工具,可以轻松地从GitHub下载依赖项。
Requires
- php: ^7.3|^8.0
- splitbrain/php-archive: ^1.2
- splitbrain/php-cli: ^1.1
README
一个PHP命令行工具,可以轻松地从GitHub下载依赖项。
用例
在构建PHP网站时,下载和安装前端框架的两个主要选项是使用NPM/Yarn/Bower(需要Node),或者手动将框架的源代码包含到项目中(并将该代码提交到您的仓库)。这个工具的目标是消除对Node的需求,以及将框架的代码提交到项目仓库的需要。
安装
到包(本地)
composer require-dev itsahappymedium/gpm
./vendor/bin/gpm help
到您的系统(全局)
composer global require itsahappymedium/gpm
gpm help
用法
GPM将从类似这样的gpm.json
文件中读取依赖项列表
{ "dependencies": { "cowboy/jquery-throttle-debounce": "1.1", "derek-watson/jsuri": "1.3.1", "kazzkiq/balloon.css": "1.0.0", "kraaden/autocomplete": "#c43f2a7", "leongersen/nouislider": "14.7.0", "patrickkunka/easydropdown": "4.2.0", "zenorocha/clipboard.js": "2.0.8" } }
包名称是<github_username>/<repo_name>
。所以如果您想安装https://github.com/kraaden/autocomplete,包名称将是kraaden/autocomplete
。
包版本可以是标签名称、dev-<branch>
、#<commit_sha>
,或者一个URL(将解压zip文件)。如果找不到使用指定的版本/标签指定的包版本,它将再次尝试使用前面添加了v
的版本(例如,如果1.3.1
不存在,它也将尝试v1.3.1
)。
gpm install [--save/-s] [--path/-p <path>] [--install-path/-i <path>] [package]
如果传递了package
参数,它将简单地下载并解压该包(如果设置了--save
或-s
选项,还将保存到gpm.json
),否则如果没有传递参数,将下载并解压当前在gpm.json
中定义的所有包。
设置--path
或-p
选项来定义gpm.json
文件所在的路径(默认为当前目录)。
设置--install-path
或-i
选项来定义下载和解压包的路径(默认为当前目录中的gpm_modules
)。
设置--ignore-errors
或-c
选项来忽略发生的任何错误,并继续安装其余的包。
设置--ext
或-e
选项来定义从存档中提取的文件扩展名,否则将提取所有文件(用逗号分隔多个扩展名)。
gpm uninstall [--save/-s] [--path/-p <path>] [--install-path/-i <path>] <package>
从gpm_modules
目录(或设置--install-path
或-i
选项的目录)中删除一个包(如果设置了--save
或-s
选项,还将从gpm.json
中删除)。
gpm versions <package>
列出传递给package
参数的包的可用的版本。
gpm init [--path/-p <path>]
在当前目录(或设置--path
或-p
选项的目录)中生成一个gpm.json
文件。
gpm help
显示有关如何使用GPM的信息。
使用JSON定义设置
您可以通过在JSON文件中定义它们来设置install-path
和/或ext
选项
{ "dependencies": { "kazzkiq/balloon.css": "1.0.0", "kraaden/autocomplete": "#c43f2a7" }, "settings": { "gpm": { "ext": ["js", "css", "scss"], "install-path": "frontend_dependencies" } } }
both install-path
and ext
settings accept a string or an array of strings. The install-path
defined here is relative to the JSON file.
相关
- FEC - 一个PHP命令行工具,可以轻松编译、连接和压缩前端JavaScript和CSS/SCSS依赖项。
许可证
麻省理工学院。更多信息请参阅license.md文件。