假设我们有以下目录结构,我们假设my-package
也存在于Packagist上:
- apps
_ my-app
_ composer.json
- packages
_ my-package
_ composer.json
要将my/package
添加为 my-app 的依赖项,文档指出我们可以使用以下配置:
{
"repositories": [
{
"type": "path",
"url": "../../packages/my-package"
}
],
"require": {
"my/package": "*"
}
}
但是当我composer update
时,依赖项仍然从 Packagist 下载。所以,为了看到,我禁用了 Packagist.org:
{
"repositories": [
{
"type": "path",
"url": "../../packages/my-package",
"packagist.org": false
}
],
"require": {
"my/package": "*"
}
}
我用composer clearcache
清除了缓存,用composer remove my/package
删除了my/package
,然后用composer require my/package --prefer-source
再次安装(我不明白--prefer-source
是否仅适用于vcs)。下载的包仍然不是本地包。如何强制作曲家使用本地作曲家?
"require": {
"my/package": "*"
}
如果是VCS
或path
存储库类型,则需要指定请求的包的版本。因此,不要像当前那样使用 *
,而是使用 @dev
:
"require": {
"my/package": "@dev"
}
for
composer --version
Composer version 2.0.14
在作曲家.json 文件中
"require": {
"my/package": "dev-master"
}