nfreear / composer-suggest
Composer 插件,基于关键词模式安装自定义的推荐包组。' vi .env && composer install '
v1.2.0
2017-04-23 22:44 UTC
Requires
- php: >=5.3.3
- composer-plugin-api: ^1.0
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- composer/composer: ^1.0
- jakub-onderka/php-parallel-lint: ^0.9.2
- squizlabs/php_codesniffer: 2.8.1
Suggests
- a/b: 1.0; This package is for [LACE] only
- phpunit/phpunit: ~4.0
- wikimedia/composer-merge-plugin: *; Merge one or more additional composer.json files at runtime [LACE]
This package is not auto-updated.
Last update: 2024-09-14 17:42:44 UTC
README
composer-suggest
A Composer 插件,基于关键词模式安装自定义的 推荐 包组。 (注意)
示例 composer.json
{
"suggest": {
"a/b": "1.0; This package is for [LACE] only",
"c/d": "2.1, This package is for JuxtaLearn and LACE.",
"e/f": "3.2, This is just for [JXL].",
"g/h": "1.0-beta; Experiment-A"
}
}
用法
-
在
.env文件中设置包含模式/关键词的环境变量,echo 'NF_COMPOSER_SUGGEST="(EXP|LACE)"' > .env
-
引入插件,
composer require nfreear/composer-suggest -
像通常一样安装(详细模式),
composer -vvv install
遗留
在 Composer 脚本 模式下,示例 composer.json 可能包含
{
"suggest": {
"a/b": "1.0; This package is for [LACE] only",
"c/d": "2.1, This package is for JuxtaLearn and LACE.",
"e/f": "3.2, This is just for [JXL].",
"g/h": "1.0-beta; Experiment-A"
},
"scripts": {
"dry-run-suggest": "\\Nfreear\\Composer\\Suggest::dryRun",
"install-suggest": "\\Nfreear\\Composer\\Suggest::install",
"install-lace": "./vendor/bin/suggest --dry LACE"
}
}
遗留用法
> composer -v install-lace
遗留高级用法
> composer -v dry-run-suggest "Ju?X(ta)?L" # Packages suggested for 'Juxtalearn' & 'JXL'. > composer -v dry-run-suggest "Experiment-A"
测试
composer test
注意
使用 composer-suggest 插件意味着你可能不会将 composer.lock 提交到版本控制。 各种 人 说 这 不好,并且一般来说他们可能是正确的。
Composer-suggest 在 require 和 suggest 中的所有/大多数依赖项都具有精确的版本约束(1.2.3)而不是松散约束(1.*,>= 1.5..)时运行良好。在项目的快速开发阶段也非常有用。在 LACE/OER 研究中心代码 和 开放媒体播放器代码库 中可以看到它的使用。
为 LACE 证据中心 开发,是 学习分析社区交换 项目的一部分。
受到 composer-merge-plugin 的启发,并部分基于其实现 - 感谢!
许可: MIT
© 2016 开放大学。 (教育技术研究所)