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 开放大学。 (教育技术研究所)