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
的本地更改。因此,您需要为每次这些更改推送和更新。