tormjens / workbench
简单的本地Composer开发,不会弄乱您的lock文件。
Requires
- php: >=7.0
- composer-plugin-api: ^1.0 || ^2.0
- symfony/filesystem: ^2.5 || ^3.0 || ^4.0
Requires (Dev)
- composer/composer: ^2.0.0
- phpspec/phpspec: ~2.3
This package is auto-updated.
Last update: 2024-09-19 13:20:28 UTC
README
一个为Composer设计的开发平台,允许您通过符号链接使用“离线”包,而无需将其写入composer.lock文件。
请注意! 此包仅在macOS上进行了测试。它应该可以在Linux上正常运行,但在Windows上可能不行。
安装
Workbench是Composer的一个插件,安装方式如下
composer global require tormjens/workbench
使用方法
安装后,您将在根composer目录中注意到一个workbench.json文件(如果找不到,则创建它)。在mac上通常是/Users/username/.composer。
文件应该看起来像这样
{
"sources": [],
"targets": []
}
在sources键内部,您将放置您本地包所在的绝对路径。它将使用glob进行搜索,因此如果您有多个包,您可能需要指定“顶级”。
例如,如果您有包在
/Users/username/packages/myfirstpackage/Users/username/packages/mysecondpackage/Users/username/packages/mythirdpackage
那么您只需添加路径 /Users/username/packages,所有您的包都将被找到。
在targets键内部,您将放置此插件应启用的绝对路径。它也将使用glob进行搜索。一些示例
/Users/username/*插件启用于您家目录内的所有路径*插件在所有地方启用/Users/username/webapps/awesomeapp插件仅限于awesomeapp文件夹
因此,您的workbench.json可能看起来像这样
{
"sources": [
"/Users/username/packages"
],
"targets": [
"/Users/username/webapps"
]
}
不使用Workbench运行Composer
有时,出于各种原因,您可能希望在不触发Workbench的情况下运行composer install和其他命令。在这种情况下,您可以在命令前加前缀WORKBENCH=0。这将在此次运行中禁用Workbench。
WORKBENCH=0 composer install
注意事项
虽然Workbench解决了您的自定义本地包没有被写入项目.lock文件的问题,但在安装过程中它将无法检测到对您的composer.json的本地更改。因此,您需要为每次这些更改推送和更新。